ℹ️ При разработке и тестировании сетевых приложений важно понимать, как они ведут себя в условиях нестабильной сети.
🔥 Инструмент tc (Traffic Control) позволяет эмулировать различные сетевые условия прямо на вашем локальном компьютере.
🖥 Установка
Установите пакет iproute2, если его нет, выполнив следующие команды:
sudo apt install iproute2 # для Ubuntu/Debiansudo yum install iproute # для RHEL/CentOS⌛️ Добавление задержки
Это симулирует ситуацию, когда приложение работает в условиях медленного интернета.
sudo tc qdisc add dev eth0 root netem delay 100msℹ️ Что происходит?
Задержка в 100 мс добавляется к каждому пакету, отправляемому через интерфейс eth0.
🔽 Эмуляция потери пакетов
Иногда пакеты теряются в сети, что может привести к сбоям в приложении.
sudo tc qdisc change dev eth0 root netem loss 10%ℹ️ Что происходит?
10% пакетов будут случайным образом теряться при передаче через интерфейс eth0.
📂 Комбинирование параметров
Вы можете одновременно добавить задержку, потерю и даже повреждение пакетов.
sudo tc qdisc change dev eth0 root netem delay 100ms loss 10% corrupt 5%ℹ️ Что происходит?
- Задержка в 100 мс: каждый пакет будет отправлен с задержкой.
- Потеря 10% пакетов: 10% пакетов не достигнут получателя.
- Повреждение 5% пакетов: 5% пакетов будут повреждены при передаче.
❌ Удаление всех ограничений
Когда вы завершили тестирование и хотите вернуть сеть в нормальное состояние, достаточно удалить все ограничения:
sudo tc qdisc del dev eth0 root netemℹ️ Что происходит?
Все настройки, сделанные с помощью tc, будут удалены, и сеть вернётся к обычному режиму работы.
✳️ tc — это мощный инструмент, который может значительно улучшить качество и надежность вашего сетевого приложения.
tags: #linux #сети #тестирование
🧭 @recura_tech



