Назад | Перейти на главную страницу

Скорость FTP снижается через короткое время

Я пытаюсь передать несколько больших (от 10 до 100 ГБ) файлов на хост HP DL380, на котором запущен vsftpd в сети / LAN 10 GigE. Изначально передача начинается быстро, то есть 45-60 МБ / с или примерно со скоростью дисков. Через несколько минут (обычно около 10-12) скорость передачи падает до тонкой струйки (250 КБ / с или около того). Мы все время делаем подобные вещи с другими серверами, поэтому кажется, что что-то есть с самим сервером или, возможно, с межсетевым экраном между клиентом / сервером.

Я пытаюсь устранить эту проблему и выяснить, почему наши ставки внезапно и резко изменились. Кажется, это не имеет ничего общего с нагрузкой в ​​сети или клиент / сервер. Мы подозревали, что это как-то связано с ПАССИВНЫМ / АКТИВНЫМ режимом, но этого не произошло (передачи в ПАССИВНОМ режиме).

Я надеюсь, что кто-то видел нечто подобное, то есть резкое падение производительности FTP. Возможно, какой-то сетевой параметр? Пункт конфига в vsftpd?

В любом случае, любые предложения приветствуются.

Прежде чем сосредоточиться на аспекте FTP, вам следует выполнить несколько синтетических тестов, чтобы исключить другие причины. (Я предположил, что и клиент, и сервер - это Linux, так как вы используете vsftpd.)

  • Отбрасывание сетевых пакетов: проверьте вывод cat /proc/net/dev на клиенте и сервере, чтобы увидеть, есть ли какие-либо ошибки или отброшенные пакеты.
  • Тестирование сетевой нагрузки: используйте инструмент тестирования пропускной способности, например iperf с длительным временем тестирования, чтобы увидеть, сможете ли вы воспроизвести проблему. Контролируйте пропускную способность с помощью cat /proc/net/dev.
  • MTU: если вы используете 10GbE, у вас могут быть включены большие кадры (то есть размер MTU больше 1500). В этом случае убедитесь, что все узлы и сетевые устройства поддерживают кадры jumbo и что вы нигде не фильтруете пакеты ICMP (пакеты ICMP используются для обнаружения пути MTU).
  • Диск сервера: на сервере используйте dd читать из /dev/zero и записать в локальный файл в целевой файловой системе. Контролируйте пропускную способность с помощью iostat.
  • Клиентский диск: возможно, нет необходимости проверять это, учитывая, что вы можете успешно FTP на другие серверы с этого клиента.

Если какой-либо из вышеперечисленных тестов выявит проблемы, вы должны знать, где искать дальше. В противном случае посмотрите на сторону FTP:

  • Если передача замедлилась, что произойдет, если вы отключитесь, а затем возобновите передачу? Он сразу замедляется или снова идет быстро, прежде чем замедляться?
  • Наблюдается ли у вас другое поведение при инициировании передачи со стороны клиента и со стороны сервера (т.е. при подключении к FTP-серверу на клиенте)?
  • Проверьте использование памяти FTP-сервера и клиента с помощью top. Если есть утечка памяти, возможно, что-то меняет местами и все замедляет.
  • Проверьте использование ЦП FTP-сервера и клиента на предмет странного поведения.

В дополнение к ответу Тома вы можете проверить свои переключатели, чтобы убедиться, что вы работаете с правильной скоростью и в полнодуплексном режиме.

Я бы проверил ваш дисковый ввод-вывод ... Возможно, причина, по которой передача кажется сначала быстрой, а затем медленной, заключается в том, что сначала ОС загружает данные в ОЗУ и дисковые буферы.

Большинство современных операционных систем делают это, чтобы все выглядело быстрее ...

Как только ваша оперативная память и дисковые буферы будут заполнены, что может занять несколько минут, будет выявлена ​​истинная скорость ввода-вывода диска и передача файлов замедлится ...

Недавно мы опубликовали блог о дисковом вводе-выводе для передачи файлов со скоростью 10 ГБ / с, пожалуйста, посмотрите, это может вам помочь ...

http://www.filecatalyst.com/analysis-on-improving-throughput-part-1-disk-io/

Полное раскрытие информации: этот пользователь является сотрудником FileCatalyst.