Изменить размер MTU в Debian

Сие опубликовал в день года

Стандартный MTU (Maximum Transmission Unit, то есть максимальный блок передаваемых за раз данных) составляет 1500 байт, однако может быть увеличен до числа в диапазоне 1501 - 9198, что зависит от производителя оборудования. Чтобы увеличение MTU прошло успешно, заданный размер должен поддерживаться оборудованием на обоих концах кабеля.

Тестирование

Чтобы убедиться, что ваше оборудование поддерживает большие пакеты, можно воспользоваться утилитой ping. Для тестирования на MacOS используйте команду:

ping -D -s 8184 ip.add.re.ss

В Linux:

ping -M do -s 8972 ip.add.re.ss

В Windows:

ping -f -l 9000 ip.add.re.ss

В *nix системах ping не включает заголовки ICMP (8 байт) и TCP (20 байт), поэтому мы должны вычесть их самостоятельно. Что касается MacOS, то в этом случае реализация ping не позволяет передавать больше 8192 байт, а также мы должны дополнительно вычесть 28 байт.

Возможные результаты

Если вы забыли включить jumbo frames/9k MTU на вашем клиентском устройстве, то получите следующий вывод:

PING ip.add.re.ss (ip.add.re.ss): 8184 data bytes
ping: sendto: Message too long

Если вы увеличили размер MTU на клиенте, но не на конечной... Читать целиком.

Изменить txqueuelen в Linux

Сие опубликовал в день года

Как изменить txqueuelen (длину очереди передачи) для сетевого устройства в Linux? Какое значение необходимо установить для сетей с высокими задержками или высокими скоростями для массового распределения трафика от интерактивных сервисов?

Вы можете установить длину очереди передачи устройства с помощью команды ifconfig или ip. Значение txqueuelen нужно выбирать из следующих соображений:

  • Маленькое значение для более мендленных устройств с высокими задержками, таких как модемные линии и ISDN.
  • Высокое значение рекомендовано для серверов с высокоскоросным соединением с интернетом через которое проходит большое количество данных.

Увеличить параметр txqueuelen на значение между 1000 и 20000 в зависимости от интерфейса:

ifconfig ${interface} txqueuelen ${size}

Например:

ifconfig eth1 txqueuelen 10000
ifconfig eth0 txqueuelen 5000

Также можно использовать утилиту ip:

ip link set ${interface} txqueuelen ${size}

Например:

ip link set eth1 txqueuelen 10000
ip link set eth0 txqueuelen 5000

Чтобы необходимые значения устанавливались при старте системы добавьте в файл /etc/rc.local строки вида:

/sbin/ifconfig eth1 txqueuelen 10000

или

/sbin/ip link set eth1 txqueuelen 10000

iperf в Debian - тест скорости сети

Сие опубликовал в день года

Утилита iperf используется для измерения пропускной способности сети. С помощью iperf можно тестировать пропускную способность как протокола TCP, так и протокола UDP. Для осуществления тестирования пользователь должен запустить как серверную часть (для приема и отбрасывания трафика), так и клиентскую (для генерирования трафика). Мы будем говорить об iperf версии 2 в Debian Linux.

Таким образом утилита iperf позволяет загрузить канал между клиентом и сервером на полную и посмотреть его максимальную пропускную способность в момент тестирования. К примеру, если вы арендовали VPS-сервер, то вы можете проверить соответствует ли пропускная способность сети сервера заявленной вашим хостинг-провайдером. Это не значит, что ваши сайты будут открываться с полученной скоростью, так как iperf тестирует именно максимальную скорость канала, а не скорость работы программ установленных на вашем сервере.

Для того, чтобы провести тестирование скорости сети, вам нужно запустить на одном компьютере серверную часть, а на другом клиентскую. Стоит учитывать, что трафик идет от клиента к серверу. Утилита... Читать целиком.

Наверх