
У меня очень простой и новичокский вопрос. Мне сказали, что у нас "Gigabit Network". Поэтому я провел быстрый scp-тест, скопировав файл на другую машину, и скорость передачи составила всего 35 МБ/сек.
Разве скорость передачи данных не должна быть около 1 ГБ/сек?
Также, есть ли командная строка, которая скажет мне, что у меня "гигабитная сеть"? Например, ifconfig скажет мне это?
решение1
GigaBIT Ethernet — 1 миллиард БИТ в секунду. Теоретически максимальная скорость передачи данных — 125 МБ/сек.
Тем не менее, ваши 35 МБ/сек — это немного медленно, но шифрование замедлит передачу файлов SCP, и это, вероятно, объясняет проблему.
Если не шифровать, любая передача файлов — плохой сетевой бенчмарк, так как ваша подсистема ввода-вывода может быть узким местом передачи. Вы упомянули ifconfig
, поэтому я предполагаю, что вы используете какую-то *nix OS. Взгляните на утилиту ttcp
. Она дает хорошую оценку пропускной способности TCP в вашей сети.
решение2
Гигабит — это не Гигабайт. Лучшая скорость передачи данных — 125 МБ/с (1000 гигабит/8).
SCP — плохой инструмент для измерения пропускной способности. У вас есть накладные расходы на шифрование, у вас может быть включено сжатие, и вам придется учитывать скорость дисков как на источнике, так и на месте назначения.
Iperf— гораздо лучший инструмент для измерения пропускной способности.
Если вы хотите узнать скорость соединения, используйте ethool {interface}
или mii-diag {interface}
если вы используете Linux.
Можно ли использовать ping для измерения скорости сети?
Измерение пропускной способности, которое вы получили с помощью ping, скорее всего, будет даже менее точным, чем тест на основе TCP или UDP, например, ttcp или iperf. Если вы действительно хотите попробовать, вам нужно будет начать захват в чем-то вроде wireshark/tcpdump и выполнить flood ping ping -f
против другого хоста, затем вы проанализируете захват и увидите, сколько трафика ICMP было передано за определенный период времени. Проблема в том, что несколько устройств снижают приоритет ICMP.
решение3
Скорость передачи данных будет зависеть только от самой медленной скорости клиентской и принимающей систем, которая представляет собой комбинацию скорости процессора/памяти и времени доступа к жесткому диску.
SCP также добавляет много накладных расходов на шифрование.
решение4
Кроме того, Ethernet редко дает вам всю вашу скорость линии. Я очень редко видел полные 125 МБ/с на сервере, и этот тест был чисто синтетическим. В реальных сценариях я часто видел более 100 МБ/с, и даже 120 МБ/с раз или два. Оговорка в том, что я имел дело с серверами, выполняющими дисковые операции (множественные потоки резервного копирования на диск, идущие на быстрое хранилище Fibre Channel).
Я видел 125 МБ/с гораздо чаще на наших маршрутизаторах и коммутаторах uplink-интерфейсов. Они просто перелопачивают пакеты, не делая с ними ничего существенного, как я. Настоящий тест пропускной способности будет настолько чистым сетевым, насколько это возможно.