Как настроить скорость отправки и получения подключенного сетевого адаптера в Linux?

У нас есть сервер RedHat 7.4 Linux с двумя подключенными 10 Гбит / с, но по какой-то причине он не отправляет файлы на скорости выше 1 Гбит / с другому на сервере с сетевым адаптером 10 Гбит / с прием работает нормально, но не отправляет.

Кто-нибудь может сказать мне, где я могу проверить, что вызывает эту проблему и как ее исправить?

Для справки мы запустили iPerf на обоих концах и получили достигает 9,53 Гбит / с, но скорость отправки никогда не превышает 955 Мбит / с.

Спасибо.

0
задан 1 May 2019 в 01:14
1 ответ

У вашей проблемы есть разные причины. Общие способы устранения неполадок:

  1. Итак, iperf дает нормальные числа, думаю, проблема не в самой сети, а где-то еще. Но проверьте счетчики обоих интерфейсов элементов связи с помощью команд ethtool -S и ip -s -s link show . Возможно, трафик iperf проходит через нормальный участок, но трафик обмена файлами проходит через больной участок связи. Проверьте размер колец сетевых адаптеров. Проверить статистику кадров паузы - поиграть с flowcontrol.
  2. Первая контрольная точка - подсистема хранения. Узким местом могут быть медленные диски. Используйте такие инструменты, как blktrace , iotop , iostat .
  3. Захватите трафик с помощью tcpdump / wirehark и проанализируйте его. В Wireshark есть отличные встроенные инструменты для этого. Проверьте график размера окна - он показывает наличие сетевых проблем, таких как потеря или перегрузка.
  4. Следующая контрольная точка - размер буферов сокета чтения / записи. Увеличьте его с помощью конфигурации вашего приложения или измените значения по умолчанию с помощью sysctl (переменные * _ rmem и * _ wmem ). Проверьте счетчики статистики с помощью netstat или nstat .
  5. Посмотрите на загрузку процессора. Возможно, одно ядро ​​ЦП перегружено, а другие бездействуют.
  6. Проверьте GRO / LRO и другие разгрузки. Поиграйте с этим.
  7. Проверьте алгоритмы управления перегрузкой.
0
ответ дан 5 December 2019 в 03:11

Теги

Похожие вопросы