Я хочу проверить, с какой максимальной пропускной способностью netwotk может справиться наш сервер Linux. Я использую один Dell R710 с двумя четырехъядерными процессорами Intel и 16 ГБ памяти. Я устанавливаю две карты Intel 82575Gb pcie, каждая имеет 4 порта И на борту есть 4 порта Broadcom BCM5709Gb. Таким образом, у меня всего 12 Gb портов.
Я написал простую тестовую программу udp для непрерывной отправки фиктивных данных udp через определенный nic с помощью connect (). Поэтому, когда я запускаю одну программу для отправки данных udp через один ник, я вижу, что пропускная способность сети составляет около 116 МБ / с для этого ник. Это разумный результат. Затем я запускаю другую тестовую программу для отправки udp через другой nic.
Окончательная максимальная пропускная способность сети, которую я получил, составляет около 1 ГБ / с. Это означает, что я могу запустить только 10 тестовых программ. Еще одна запущенная программа резко снизит производительность.
Мой вопрос: возможно ли использовать все 16 портов для передачи данных на полной скорости? Есть ли какие-либо ограничения пропускной способности, которые поддерживает Linux?
Я изменил некоторые параметры udp sysctl, но не работал. Память кажется достаточно большой, а ресурсов ЦП все еще достаточно. Может кто поможет мне настроить систему?
Как насчет 10 Гб ник? Если я установлю два из них, я не смогу разогнать их на полной скорости.
Любая помощь приветствуется.
Спасибо
Просто по теме максимального трафика, вместо написания собственной тестовой программы udp, iperf (пакет iperf в Debian / Ubuntu) - отличный инструмент для генерации пропускной способности TCP, но для него требуется удаленный хост с Linux с такой же или лучшей пропускной способностью сети:
Удаленный узел:
# iperf -s
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 85.3 KByte (default)
------------------------------------------------------------
На хосте хочу протестировать:
iperf -i 1 -c 192.168.15.6
------------------------------------------------------------
Client connecting to 192.168.15.6, TCP port 5001
TCP window size: 16.0 KByte (default)
------------------------------------------------------------
[ 3] local 192.168.15.132 port 37163 connected with 192.168.15.6 port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0- 1.0 sec 11.4 MBytes 95.2 Mbits/sec
[ 3] 1.0- 2.0 sec 11.4 MBytes 95.3 Mbits/sec
[ 3] 2.0- 3.0 sec 11.1 MBytes 93.1 Mbits/sec
[ 3] 3.0- 4.0 sec 11.3 MBytes 94.8 Mbits/sec
[ 3] 4.0- 5.0 sec 11.2 MBytes 94.2 Mbits/sec
[ 3] 5.0- 6.0 sec 11.1 MBytes 93.5 Mbits/sec
[ 3] 6.0- 7.0 sec 11.3 MBytes 95.0 Mbits/sec
[ 3] 7.0- 8.0 sec 11.4 MBytes 95.3 Mbits/sec
[ 3] 8.0- 9.0 sec 11.4 MBytes 95.2 Mbits/sec
[ 3] 9.0-10.0 sec 11.7 MBytes 97.8 Mbits/sec
[ 3] 0.0-10.0 sec 113 MBytes 94.6 Mbits/sec
Похоже, вы достигли максимальной пропускной способности шины. Сервер имеет два слота PCIe x8, каждый из которых позволит вам максимально использовать 4 ГБ портов. Встроенные порты Broadcom, вероятно, подключены к обычному старому PCI, так что вы не сможете максимизировать их - даже близко.
Вы правы, что он не сможет максимизировать две сетевые карты 10 ГБ / с. Оборудование просто не способно.