2

Я только что обновил свою локальную сеть до гигабитного. Это то, что netperf должен сказать о вещах.

До:

marcus@lt:~$ netperf -H 192.168.1.1
TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.1.1 (192.168.1.1) 
port 0 AF_INET : demo
Recv   Send    Send                          
Socket Socket  Message  Elapsed              
Size   Size    Size     Time     Throughput  
bytes  bytes   bytes    secs.    10^6bits/sec  

 87380  16384  16384    10.02      94.13   

После:

marcus@lt:~$ netperf -H 192.168.1.1
TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.1.1 (192.168.1.1) port 0 AF_INET : demo
Recv   Send    Send                          
Socket Socket  Message  Elapsed              
Size   Size    Size     Time     Throughput  
bytes  bytes   bytes    secs.    10^6bits/sec  

 87380  16384  16384    10.01     339.15   

Всего 340 Мбит / с? Что с этим?

Справочная информация: я подключаю через гигабитный коммутатор к штепсельной вилке. У меня есть проводка Cat5e в стенах, и пробег может быть 30 футов. Если вы не знакомы с netperf, он имеет тенденцию давать очень стабильные результаты и никогда не лгать.

3 ответа3

2

Проверьте эту тему. Один из авторов (Frennzy) обрисовывает это очень красиво. Я процитирую:

"Реальная" скорость гигабитного Ethernet - это ...

1Gbps.

То есть он будет передавать биты со скоростью 1 миллиард в секунду.

Сколько пропускной способности вы получаете, зависит от различных факторов:

Подключение NIC к системе (PCI против PCIe против Северного моста и т.д.).

Пропускная способность HDD.

Автобусный спор.

Протокол уровня 3/4 и связанные с ним служебные данные.

Эффективность приложения (FTP против SMB/CIFS и т.д.)

Размер рамки.

Распределение размера пакета (в отношении общей эффективности пропускной способности)

Сжатие (аппаратное и программное обеспечение).

Конфликт буфера, оконные операции и т.д.

Емкость и архитектура сетевой инфраструктуры (количество портов, емкость объединительной платы, конфликты и т.д.)

Короче говоря, вы не узнаете, пока не протестируете. NetCPS является хорошим инструментом для этого, как и многие другие.

И об этом позже в теме (мое выделение):

Хватит так думать. Прекрати. Вы все.

Как бы вам ни хотелось вычислить передачу в килобайтах или мегабайтах в секунду, дело в том, что она переменная, даже если скорость сети остается постоянной. Скорость сети (бит в секунду) является абсолютной. Пропускная способность сети (фактическая полезная нагрузка данных в секунду) отсутствует.

К ОП: вы вообще будете видеть более быструю передачу данных при переключении со 100 Мбит / с на 1000 Мбит / с? Почти наверняка Это будет где-нибудь близко к теоретическому максимуму? Нет . Будет ли это стоит? Это вам решать.

Если вы хотите поговорить о скорости сети, поговорите о скорости сети. Если вы хотите поговорить о пропускной способности данных, поговорим о пропускной способности данных. Эти два не связаны вместе 1-1 способом.

2

Термин «теоретический максимум» используется, но он имеет практическое применение с технологиями Ethernet. В системе CSMA/CD, такой как Ethernet, вы можете отправлять только половину полосы пропускания трафика, когда провод удерживает, часто немного меньше. Причина в том, что, как только вы попытаетесь выйти за пределы этого «максимума», трансиверы начнут обнаруживать коллизии больше, чем они передают пакеты. Затем вступает в действие экспоненциальный откат, и передача пакетов ухудшается еще больше. Кольцо Token обошло это, но у него было много собственных проблем, и я думаю, что оно больше не используется. Ethernet/IP стал стандартом де-факто.

Технологии восходящей линии связи, такие как T3, используют асинхронные пары, которые обеспечивают полную пропускную способность на каждом проводе, но это также не протокол на основе Ethernet.

Пока вы используете базовые стандартные Ethernet-устройства, всегда будет «теоретический максимум».

1

Разговор о CSMA/CD в контексте GbE является полностью фальшивым. Gigabit Ethernet или любой «полнодуплексный» Ethernet не использует CSMA/CD. И хотя GbE все еще сохранял теоретическую возможность для полудуплексной работы, я вовсе не уверен, что когда-либо существовал серийный комплект GbE, который бы выполнял полудуплекс.

Что касается того, почему OP получал только 300 с лишним Мбит / с по каналу 1000 Гбит / с, я бы предложил собирать статистику netstat для TCP до и после каждого запуска netperf и включать глобальные параметры командной строки -c и -C чтобы увидеть, какова загрузка ЦП на обоих концах. Возможно, что-то сбрасывает пакеты, или, возможно, процессор на одной стороне или другой становится насыщенным. Если системы на обоих концах являются многоядерными, определенно проверьте использование каждого ядра либо с помощью внешнего инструмента, либо с помощью вывода отладочной информации netperf.

Другие вопросы по netperf, вероятно, лучше оставить для netperf-talk в списке рассылки netperf.org.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .