У меня есть FreeBSD 10.1 VPS в Европе, использующий устройство VirtIO Ethernet, которое видит значительно меньшую исходящую пропускную способность, чем входящую с тех же удаленных хостов. Первоначально эта проблема была замечена как медленная загрузка с нашего веб-сервера nginx.
Исходящая полоса пропускания постоянно составляет часть входящей с того же хоста, но сама по себе исходящая полоса пропускания охватывает значительный диапазон. Таким образом, я не нахожу очевидных проблем в конфигурации сети или физическом соединении с хостом, хотя я пробовал изменять различные параметры net.inet. *, Но без значительного эффекта.
Я понимаю, что сетевые пути могут иметь некоторое влияние, но наблюдаемые различия, похоже, не соответствуют этому объяснению. Также обратите внимание, что брандмауэр pf не ограничивает исходящий трафик любого типа.
Ссылка ниже - это pastebin tcptraces из tcpdump данных, захватывающих тестирование iperf3 на трех хостах (разные географические регионы) как на клиенте, так и на сервере. Tcpdump был настроен на захват 8192 пакетов; команда iperf была iperf3 -c host -V -n 10M -p 520X, за которой следовало iperf3 -c host -V -n 10M -p 520X -R
Обратите внимание, что для последней пары показанных трассировок параметр -n был увеличен до 75M из-за значительно более высокой доступной пропускной способности.
Я посмотрел на следы и не увидел (для меня) ничего странного, кроме, возможно, моего хоста (XYZ), имеющего небольшое начальное окно.
Я могу отметить это как закрытое и решенное (на данный момент), хотя без очевидной причины / решения.
Хостинг-провайдер посоветовал мне перейти с драйвера virtio на e1000. В процессе подготовки к этому VPS был остановлен (с консоли), а затем перезапущен. Хотя по-прежнему используется драйвер virtio, пропускная способность теперь намного, намного лучше и симметрична.
Сервер работал около 300 дней.