Я использую iperf
. Это клиент-серверное устройство, в котором вы запускаете его в режиме сервера на одном конце и подключаетесь к нему с другого компьютера на другой стороне сети.
Одна и та же машина работает:
sudo apt-get install iperf
Мы запустим iperf
сервер на одной из машин:
iperf -s
А затем на другом компьютере скажите iperf
подключиться как клиент:
iperf -c <address of other computer>
На клиентской машине вы увидите что-то вроде этого:
oli@bert:~$ iperf -c tim
------------------------------------------------------------
Client connecting to tim, TCP port 5001
TCP window size: 16.0 KByte (default)
------------------------------------------------------------
[ 3] local 192.168.0.4 port 37248 connected with 192.168.0.5 port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-10.0 sec 1.04 GBytes 893 Mbits/sec
Конечно, если вы используете брандмауэр на сервере, вам нужно разрешить соединения через порт 5001 или изменить порт с -p
флагом.
Вы можете сделать почти то же самое с простым старым nc
(netcat), если вы склонны к этому. На серверной машине:
nc -vvlnp 12345 >/dev/null
И клиент может конвейер гигабайтные нулей через dd
над nc
туннелем.
dd if=/dev/zero bs=1M count=1K | nc -vvn 10.10.0.2 12345
Как демод:
$ dd if=/dev/zero bs=1M count=1K | nc -vvn 10.10.0.2 12345
Connection to 10.10.0.2 12345 port [tcp/*] succeeded!
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 9.11995 s, 118 MB/s
Время здесь задается как, dd
но оно должно быть достаточно точным, поскольку оно может выводить только с той скоростью, с которой труба пройдет. Если вы недовольны этим, вы можете обернуть все это в time
разговор.
Помните , что результат в мега байт , так умножить на 8 , чтобы получить мега бит -в секунду скорость. Демонстрация выше работает на скорости 944 Мбит / с.
То же, что рекомендация Оли для iperf. Просто хочу добавить несколько пунктов:
-t <seconds>
меняет длину теста. изменяет количество одновременных подключений. Например, тестирует 10 соединений вместе в течение 30 секунд и дает агрегированные результаты вместе с 10 отдельными скоростями соединения.-P <n>
iperf -c [target IP] -P 10 -t 30
wget
, сделайте его исполняемымchmod
, и вы сможете напрямую запустить бинарный файл. Работает отлично.Я обнаружил, что при использовании настроек по умолчанию скорость одного соединения колеблется совсем немного. Однако при параллельном соединении 3+ результаты на моем гигабайтном коммутаторе более согласованные. (постоянно @ 910-920 Мбит / с)
источник
Используя этот скрипт, вы можете легко проверить скорость соединения между вашей машиной и удаленным хостом. Пример использования:
user@remote_host
ваш хост назначения (у вас должен быть ssh-доступ к этому хосту)80000
приблизительный размер тестового файла (в килобайтах), который будет получен на удаленный хост. Это не обязательный аргумент.источник
/dev/random
(они могут блокировать) илиurandom
(ссылки на комментарии подсказали, что) они тоже могут быть очень медленными, вместо этого используйте dm-crypt (см. FAQ по cryptsetup 2.19 Как я могу стереть устройство с помощью crypto- оценка случайности? ) может с файлом в баране.Если вы хотите протестировать свою локальную сеть Ethernet на более низком уровне, вы можете использовать Etherate - бесплатный инструмент тестирования Linux CLI Ethernet:
https://github.com/jwbensley/Etherate
Вбрасывая это в смесь, как такие инструменты, как iPerf (которые очень хороши!) Работают по IP и TCP или UDP. Тестирование Etherate напрямую через уровень Ethernet / OSI 2.
источник
Команда ниже не требует дополнительных пакетов, но доступ по SSH:
Пример вывода:
Команда печатает фиктивный файл размером 3 ГБ (1000 ^ 3 байта), полный нулей, на стандартный вывод на удаленном сервере, который распечатывается (передается) через SSH на стандартный вывод локального сервера, а затем локально передается
/dev/null
(то есть игнорируется). Вы даже можете увидеть прогресс теста во время его выполнения.Конечно, не так точно, как другие инструменты, но мой вариант использования состоял в том, чтобы отладить процесс резервного копирования, где я хотел проверить, была ли скорость сети проблемой без установки дополнительных пакетов.
источник
Есть также некоторые другие приятные инструменты командной строки для сравнительного анализа пропускной способности между двумя хостами:
nuttcp
nepim
Гобен
источник
как я указывал в своем комментарии в лучшем случае, это решение недостаточно хорошо, потому что клиент / сервер не оптимизирован, чтобы ... выжать каждый бит скорости
мое решение:
сделайте виртуальный диск с обеих сторон (следовательно, вы не ограничены скоростью хранения, и я предлагаю вам сделать их с ramfs, а не tmpfs, чтобы они не пошли в swap ... просто будьте осторожны, чтобы не оставить хотя бы 512M свободной памяти для системы это ТРЕБУЕТСЯ, если у вас есть гига Ethernet, на этой скорости даже SSD могут замедлить работу) установите apache на сервер, затем создайте ссылку на ramdisk, создайте несколько больших файлов на ramdisk (100M-1G, вы можете создать их с помощью dd из / dev / random или copy, если у вас есть под рукой), затем перейдите на сторону клиента и загрузите их (также на виртуальный диск этой стороны) с помощью расширенной программы загрузки, которую я использовал
lftp
да ладно, разница была большой: 75 Мбит / с, сообщенных iperf, и 9.5M / s netcat.
до 11,18 м / с с моим решением:
источник
Легко подключите компьютер к первому блоку, подключите другой блок к первому. Затем с вашего компьютера пропустите первый блок, сохраните результат, пропустите другой блок и выполните вычитание.
источник