Я обнаружил, что одна команда оболочки может отправлять большие данные на целевой хост:
dd if=/dev/zero bs=4096 count=1048576 | ssh user@ip 'cat > /dev/null'
Я думаю, что могу использовать это для проверки пропускной способности сети, но он не может отображать статус процесса.
Хорошо, если ты все это обернешь time
:
time sh -c "dd if=/dev/zero bs=4096 count=1048576 | ssh user@ip 'cat > /dev/null'"
это даст вам время, необходимое для завершения передачи. Разделите переданные байты на время, и это ваша пропускная способность.
Для индикатора прогресса вы можете использовать pv, что избавляет от необходимости использовать время (1):
dd if=/dev/zero bs=1024 count=10000 | pv --size 10240000 | ssh user@ip 'cat > /dev/null'
что даст вам хороший индикатор прогресса, особенно если вы загрузите --size
аргумент с общим размером перевода.
Если вы хотите проверить пропускную способность сети, есть более прямые способы сделать это.
Проверять ttcp
или его замена: nuttcp
[tla ~]$ nuttcp -S
michael@challenger:~$ nuttcp -4 -r tla
41.5574 MB / 10.46 sec = 33.3336 Mbps 2 %TX 4 %RX
michael@challenger:~$ nuttcp -4 -t tla
15.4347 MB / 10.13 sec = 12.7821 Mbps 1 %TX 2 %RX 0 retrans 3.30 msRTT
Отправка SIGUSR1
к dd
заставит его выводить свой прогресс. Вы можете рассчитать разницу между последующими вызовами, чтобы получить приблизительную скорость.
ты можешь использовать iperf если вы действительно хотите детально проверить возможность подключения.
В противном случае,
Создайте тестовый файл размером 100 МБ
dd if=/dev/urandom of=./test.bin bs=1024000 count=100
затем scp этот файл, чтобы проверить производительность загрузки
scp test.bin x.x.x.x:.
или scp с другой стороны, чтобы проверить производительность загрузки
Обычно для проверки пропускной способности лучше использовать iperf, поскольку в нем нет накладных расходов на шифрование, но вы можете вставить pv между dd и ssh, чтобы увидеть скорость передачи в реальном времени:
dd if=/dev/random | pv | ssh somehost 'cat > /dev/null'
Кроме того, во FreeBSD вы можете отправить SIGINFO на dd, нажав Ctrl + T, после этого будет отображаться некоторая статистика (включая скорость).