Действительно ли iperf допустим для измерения уровня сети?

Мы исследуем проблемы производительности в одном из нашего развертывания программного обеспечения между нашими серверами приложений (Windows) и нашими экземплярами Redis (Linux).

На ссылке на 10 Гбит/с единственные соединения TCP могут по-видимому только достигнуть 10 Мбит/с. Открытие нескольких соединений TCP позволяет нам достигать более высокого bandwitch. UDP, кажется, не затронут этими ограничениями и достигает полной скорости ссылки. Это отчасти заставляет нас подозревать, что некоторое сетевое устройство (брандмауэр, проксируйте?) в сети вызывает эти различия в пропускной способности.

Мы сделали те измерения использование iperf (та же версия) и на серверах Windows и на Linux один.

Наша сетевая команда однако, полностью отбрасывания, они заканчиваются на основе того, которое "iperf официально не поддерживается в Windows и таким образом, результатам нельзя доверять". В то же время они отклоняют для обеспечения альтернативного инструмента, чтобы сделать те измерения и утверждать, что "сеть прекрасна".

Таким образом, мой вопрос: может iperf надежно используйтесь для измерения TCP и производительности UDP между серверами Windows и Linux? Если бы не, какой инструмент Вы рекомендовали бы?

1
задан 19 August 2015 в 16:55
2 ответа

iperf можно было бы использовать, интересно, какие параметры вы использовали, когда сообщали 10 Мбит/с.

Другой полезный инструмент - Netpipe (доступен в репозитории Linux) и для Windows я бы порекомендовал использовать версию Java, доступную здесь :

Информация о том, как запустить Netpipe, находится здесь .

Мы можем помочь вам в выявлении проблемы, связанной с доступом к Redis. Какого сетевого поставщика вы используете?

.
0
ответ дан 3 December 2019 в 18:38

iperf отлично поддерживается в Windows, по крайней мере, с 2005 года. Сейчас у вас даже есть разные версии для iperf3 в Windows : доступны 32-битные, 64-битные и даже версии UWP.

Как только у вас будет одна и та же версия (и под версией я подразумеваю сборку, например v3. 1.3, например) iperf3 как на клиенте, так и на сервере, вы можете протестировать скорость 10 Гбит / с, выполнив следующие действия:


Сервер

iperf3 -s

Должен показать такой вывод:

------------------------ 
Server listening on 5201
------------------------

Клиент

iperf3 -P XX -c $ server_ip

Где:

  • «P XX» представляет количество параллельных потоков
  • «$ server_ip» указанный выше IP-адрес сервера

Это должно вывести что-то вроде:

[SUM] 0.00-10.00 sec 10.9 GBytes 9.30 Gbits/sec   sender 
[SUM] 0.00-10.00 sec 10.8 GBytes 9.28 Gbits/sec   receiver

Если это не удается, вы можете попробовать поиграть с размером окна TCP. Вы можете изменить его на стороне клиента с помощью флага -w XXu , где XX - размер, а u - единица измерения (k, m).

] Другой способ проверить пропускную способность сети - обслуживать http-файл с одного из концов и использовать какой-нибудь инструмент загрузки, который позволяет выполнять параллельные потоки (wget, filezilla или почти все диспетчеры загрузки). Или запустить тестовый инструмент, но я бы остался с iperf, который обычно является инструментом по умолчанию для работы (почти) для всех.

3
ответ дан 3 December 2019 в 18:38

Теги

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