Я хочу выполнить тест производительности сети, поэтому мне нужно создать в сети трафик 10 Гбит / с. Узлы работают под управлением RHEL 5.x. Может ли кто-нибудь указать мне подходящие двоичные файлы и т. Д.
Можем ли мы использовать команды iperf и netperf для выполнения этого теста?
да, iperf
правильный инструмент для этого. Убедитесь, что вы используете длинный интервал, чтобы поток трафика увеличился до скорости 10GbE. Возможно, вам также придется изменить размеры окна TCP, чтобы достичь полного насыщения. Вот несколько примеров командных строк ...
На стороне сервера:
iperf -s
На стороне клиента:
iperf -c server.ip.address -w64k -t60
Конечно, во что бы то ни стало.
Одна вещь, на которую нужно обратить внимание iperf
заключается в том, что вы можете создать узкое место в ЦП - по умолчанию он использует случайные данные, чтобы свести на нет эффект любого сложного сжатия или дедупликации данных.
Если у вас достаточно узлов, то просто использовать значения по умолчанию не составит труда; если вы обнаружите, что процессор привязан, замените ввод на что-то менее интенсивное: -F /dev/zero
Кроме того, в зависимости от задержки ACKing TCP может замедлить работу. Для заливки каналов используйте UDP с -u
.
Сможете ли вы на самом деле генерировать данные со скоростью 10 Гбит / с, полностью зависит от производительности ваших узлов и их сетевых восходящих каналов.
Чтобы получить скорость более 1 Гбит / с, -П флаг вам поможет.
iperf -c server.ip.example.com -P8 -w64k
Из человек iperf:
-P, --parallel n
number of parallel client threads to run
На стороне сервера не нужно делать ничего особенного. Просто беги iperf -s.