Почему я получаю 950 Мбит / с, но только на 360 Мбит / с в Gigabit Ethernet?


46

У меня есть два настольных компьютера, которые общаются друг с другом напрямую. У них обоих есть сетевые адаптеры с поддержкой Gigabit Ethernet. Это 1 Гбит / с или 1000 Мбит / с. Я подключил их к новому 10-метровому прямому кабелю Cat6 UTP, и я приблизился к этому теоретическому максимуму. Диспетчер задач Windows (вкладка «Сеть») показывает скорость 844–946 Мбит / с в одном направлении. Но в другом направлении он показывает только около 326 - 365 Мбит / с.

Local: 192.168.100.152
Remote: 192.168.100.151

Локальный компьютер работает под управлением Windows 8.1 Pro, и у меня он удаленно подключен к другому компьютеру, на котором работает Windows Vista Ultimate.

Iperf результаты

Я использовал Iperf для тестирования. Я проводил тест в течение 60 секунд каждый раз. Я выполнил тест 10 раз для каждого направления общения. Затем я собрал эту таблицу с результатами теста, чтобы получить среднее значение.

192.168.100.152 -> 192.168.100.151          106 MB/s
192.168.100.152 -> 192.168.100.151          107 MB/s
192.168.100.152 -> 192.168.100.151          108 MB/s
192.168.100.152 -> 192.168.100.151          107 MB/s
192.168.100.152 -> 192.168.100.151          107 MB/s
192.168.100.152 -> 192.168.100.151          104 MB/s
192.168.100.152 -> 192.168.100.151          101 MB/s
192.168.100.152 -> 192.168.100.151          108 MB/s
192.168.100.152 -> 192.168.100.151          108 MB/s
192.168.100.152 -> 192.168.100.151          108 MB/s
----------------------------------------------------
Min: 101 MB/s    Max: 108 MB/s    Avg: 106.4 MB/s (851.2 Mbps)

192.168.100.152 <- 192.168.100.151          41.1 MB/s
192.168.100.152 <- 192.168.100.151          41.1 MB/s
192.168.100.152 <- 192.168.100.151          41.1 MB/s
192.168.100.152 <- 192.168.100.151          41.0 MB/s
192.168.100.152 <- 192.168.100.151          41.0 MB/s
192.168.100.152 <- 192.168.100.151          41.1 MB/s
192.168.100.152 <- 192.168.100.151          41.0 MB/s
192.168.100.152 <- 192.168.100.151          41.1 MB/s
192.168.100.152 <- 192.168.100.151          41.1 MB/s
192.168.100.152 <- 192.168.100.151          41.1 MB/s
-----------------------------------------------------
Min: 41.0 MB/s    Max: 41.1 MB/s    Avg: 41.07 MB/s (328.56 Mbps)

Мой вопрос: почему это намного медленнее в другом направлении?

Диспетчер задач Windows

Это схема сети, которая видна при выполнении тестов в Iperf.

a б

Обратите внимание на диаграмму на следующих двух скриншотах!

с d

Вы заметили, как оно изменилось с «1 Гбит / с» до «500 Мбит / с» в верхнем правом углу, когда я переключился с отправки данных на получение данных. Почему он это сделал? Это как-то воспринимает другой сетевой порт как половину 1 Гбит / с при движении в одну сторону, но все же переполнен при движении в другую сторону?

Тест передачи файлов

Я провел еще какое-то тестирование с файлом данных, чтобы получить более реалистичные показания с диска на диск. Я создал файл 1 ГБ для этой цели. Я использовал только стандартные средства обмена файлами Windows. С локального компьютера я подключился к общему ресурсу C $ на удаленном компьютере и перетянул файл туда-сюда (пропуская веревку), меняя имя файла каждый раз. Я рассчитал все в меру своих способностей, и это то, что я получил.

192.168.100.152 -> 192.168.0.151    1073741824 Byte    25 s    40,96 MB/s
192.168.100.152 -> 192.168.0.151    1073741824 Byte    20 s    51.2 MB/s
192.168.100.152 -> 192.168.0.151    1073741824 Byte    16 s    64 MB/s
192.168.100.152 -> 192.168.0.151    1073741824 Byte    16 s    64 MB/s
192.168.100.152 <- 192.168.0.151    1073741824 Byte    11 s    93.091 MB/s
192.168.100.152 <- 192.168.0.151    1073741824 Byte    34 s    30.118 MB/s
192.168.100.152 <- 192.168.0.151    1073741824 Byte    11 s    93.091 MB/s
192.168.100.152 <- 192.168.0.151    1073741824 Byte    11 s    93.091 MB/s

Пропускная способность, указанная в диаграмме копирования файлов Windows, говорит о другом. Здесь я загружаю два файла, один за другим, в два разных места на одном диске. В первом экземпляре указано, что 107 МБ / с поддерживается на уровне до 41%, а во втором - 98,9 МБ / с - до 87%.

е е

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

грамм час я

Он поддерживает 103 МБ / с до 73%, а затем падает до 27,3 МБ / с при 82%, а затем поднимается на 49,1 МБ / с до 93%.

Вот еще две забавно выглядящие диаграммы "американских горок".

J К

Обновление 1 - скорость соединения

Я попытался отключить адаптер Wi-Fi на удаленном компьютере. (Адаптер Wi-Fi уже отключен на локальном компьютере.) Я думаю, что именно это Timtech подразумевал под этим комментарием. У меня была та же мысль - что одновременное включение как проводных, так и беспроводных адаптеров ограничивало пропускную способность проводного адаптера до уровня адаптера Wi-Fi (адаптация к самому медленному адаптеру для совместимости). Поскольку адаптер Wi-Fi (в данном случае DWA-160 Wireless N) обычно определяется как соединение «52 Мбит / с» - «104 Мбит / с» на компьютере Vista.

На следующем снимке экрана удаленный компьютер настроен как сервер, а локальный компьютер настроен как клиент (192.168.100.152 <- 192.168.100.151).

L

Но отключение адаптера Wi-Fi на удаленном компьютере не помогло моей низкой пропускной способности в проводном соединении.

Не только это! В диспетчере задач Windows на удаленном компьютере скорость соединения для проводного адаптера (LAN 1) отображается как «1 Гбит / с». Если вы посмотрите на скриншоты выше, вы увидите, что на локальном компьютере это определяется как ссылка «500 Гбит / с». Таким образом, для того же проводного соединения Windows Vista говорит, что это соединение со скоростью 1 Гбит / с, в то время как Windows 8.1 Pro говорит, что это соединение со скоростью 500 Гбит / с ... какая из них правильная?

Вот как это выглядит на удаленном компьютере, когда я настроил его как клиент, а локальный компьютер как сервер (192.168.100.152 -> 192.168.100.151).

м

Как вы можете видеть здесь, используется около 95% канала 1 Гбит / с. Это соответствует 950 Мбит / с. Это именно то, что я получил в тесте выше. Но наоборот - это совсем другая история.

Обновление 2 - Дуплекс и MDI-X

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

N о

Я попытался изменить значение «Полный дуплекс 1,0 Гбит / с» на обоих компьютерах. Затем я провел те же тесты, что и раньше, используя Iperf. С локальным компьютером в качестве сервера и удаленным компьютером в качестве клиента я получаю около 950 Мбит / с макс. С локальным компьютером в качестве клиента и удаленным компьютером в качестве сервера я получаю около 360 Мбит / с.

Вот посмотрите на эти скриншоты.

п Q

Здесь вы видите диаграмму, когда я загружаю и скачиваю между двумя компьютерами. Более высокий график (использование 95 - 98%) является локальным для удаленного (восходящий поток 192.168.100.152 -> 192.168.100.151). Нижний график (использование ~ 33%) является удаленным к локальному (192.168.100.152 <- 192.168.100.151 ниже по течению).

Чтобы попытаться исключить любые проблемы Auto MDI-X, у меня был один из этих кроссоверных адаптеров, подключенных к одному концу кабеля (локальный компьютер).

р

Это, безусловно, сделало бы кабель кроссовером. Черт, у меня даже был тест с сетевым тестером! Это действительно пересечено сейчас (контакты 1/3, 2/6)!

Так что теперь у меня есть настоящее перекрестное кабельное соединение между двумя компьютерами, и я вручную установил «Полный дуплекс 1,0 Гбит / с». И все же у меня все та же проблема. Есть еще идеи? Помимо обновления компьютера Vista (или переустановки компьютера 8.1)?

Обновление 3 - Программное или аппаратное ограничение?

Я думаю, что у меня есть две операционные системы, которые не совместимы друг с другом. Они обе системы Windows, но не все системы Windows сделаны равными. Мне придется попробовать использовать Vista на обоих или 8.1 Pro на обоих и посмотреть, какую пропускную способность я получу. Это означает покупку обновления. Черт возьми, Microsoft.

Кстати, оба компьютера изготовлены на заказ. Вот некоторые характеристики.

Local
-----
Gigabyte GA-EP45-UD3R
Intel Core 2 Quad Q9650
Intel P45
Corsair XMS2 DHX TwinX DDR2 PC6400/800MHz 4 GB
Realtek 8111C chips (10/100/1000 Mbit)
WD Caviar Black WD1002FAEX
Windows 8.1 Pro 64-bit

Remote
------
Gigabyte GA-X38-DQ6
Intel Core 2 Duo E4500
Intel X38
Corsair XMS2 DHX TwinX DDR2 PC6400/800MHz 4 GB
Dual Realtek 8111B chip (10/100/1000 Mbit)
WD Caviar Black WD1002FAEX
Windows Vista Ultimate 64-bit

Тонни предположил, что на машине Vista может быть плохой чип Realtek. Так что я откопал эти спецификации. Теперь я вижу, что машина Vista использует версию B 8111, в то время как локальная машина использует версию C того же чипа. Это что-нибудь значит? Они оба четко указаны производителем для 1000 Мбит (см. Выше). Может ли быть так, что 8111B уступает так много (360 Мбит / с)?

Эти конкретные диски достигают скорости записи 107 МБ / с. Это именно то число, которое я видел в тесте на локальном компьютере. Но даже длительное последовательное или случайное чтение / запись, возможно, со скоростью 55 МБ / с, НЕ переводит на 360 Мбит / с. Это должно дать мне где-то около 440 Мбит / с, а не 360 Мбит / с, которые я получаю. Поэтому я не подозреваю, что это является узким местом, тем более что они оба используют одну и ту же модель привода. Кроме того, операция копирования файлов - это одно, но Iperf вообще не использует диски, он использует только оперативную память для тестов.

Обновление 4 - Разгрузка контрольной суммы TCP

По предложению Тонни я попытался отключить разгрузку контрольной суммы TCP (для IPv4 и IPv6).

s T

Я также переключил «Speed ​​& Duplex» обратно на авто для обоих компьютеров. Но это не помогло. У меня все еще низкая пропускная способность в одном направлении и высокая в другом направлении.

Обновление 5 - новая версия драйвера

Я попытался обновить версию драйвера как на локальном, так и на удаленном компьютере, до последней версии, загруженной с веб-сайта Gigabyte и Realtek.

Update path...

On local (RTL8111C):
8.1.510.2013 (2013-05-10, Microsoft)
8.20.815.2013 (2013-08-15, Realtek)

On remote (RTL8111B):
6.241.623.2010 (2010-06-23, Realtek)
6.250.908.2011 (2011-09-08, Realtek)
6.252.1109.2012 (2012-11-09, Realtek)

U v вес Икс

Я все еще получил ту же паршивую пропускную способность в одном направлении.

Обновление 6 - загрузка процессора

Я проверил загрузку процессора. Это не должно быть проблемой. Вот мои выводы.

On local...

Download: 4 - 10 %
Upload:   4 - 10 %
Idle:     0 -  4 %

On remote...

Download: 24 - 38 %
Upload:   10 - 25 %
Idle:      1 -  6 %

Локальный (скачать, загрузить, простаивать) ...

Y Z аа

Удаленный (загрузка, загрузка, простоя) ...

аб переменный ток объявление

Пульт дистанционного управления потребляет гораздо больше ресурсов процессора, но это также и более медленный Core 2 Duo. Но он никогда не превышал 38% во время моих тестов. Что особенно интересно здесь, это то, что он использует гораздо больше ресурсов процессора при загрузке (local -> remote), чем при загрузке (local <- remote).

Таким образом, при пропускной способности 950 Мбит / с он использует 38%, а при 360 Мбит / с он использует 25%. Также использование ядра не сбалансировано, оно использует одно ядро ​​больше, чем другое. Я не уверен, какой вывод из этого сделать. Локальный компьютер не отображает загрузку ядра, поэтому я не могу его сравнить. Но загрузка процессора даже на локальном компьютере (10% при загрузке / выгрузке).

Обновление 7 - новый сетевой адаптер Intel Gigabit

Теперь я установил новый адаптер PCI-Express Gigabit от Intel в качестве замены встроенного Realtek RTL8111B на удаленном компьютере, который предположительно слишком медленный при загрузке. Номер продукта адаптера Intel - EXPI9301CT. Этот адаптер должен быть очень хорошим по отзывам, которые я прочитал. Я просто хочу исключить это как возможное узкое место.

ае

Я провел некоторое тестирование с Iperf для Windows, и вот результаты.

Локальный (скачать, загрузить) ...

аф аг

Удаленный (скачать, загрузить) ...

ах искусственный интеллект

В среднем этот адаптер немного медленнее, чем адаптер Realtek. Я думаю, что он имеет меньшие издержки, чем Realtek, и, как следствие, более стабильную непрерывную пропускную способность. Но я все еще получаю только около 360 Мбит / с в одном направлении и 950 Мбит / с в другом, даже с этим адаптером Intel.

local: 192.168.100.152 (win 8, realtek 8111c)
remote: 192.168.100.154 (vista, intel desktop ct)

192.168.100.152 -> 192.168.100.154    113 MB/s
192.168.100.152 -> 192.168.100.154    104 MB/s
192.168.100.152 -> 192.168.100.154    103 MB/s
192.168.100.152 -> 192.168.100.154    104 MB/s
192.168.100.152 -> 192.168.100.154    102 MB/s
192.168.100.152 -> 192.168.100.154    104 MB/s
192.168.100.152 -> 192.168.100.154    101 MB/s
192.168.100.152 -> 192.168.100.154    102 MB/s
192.168.100.152 -> 192.168.100.154    101 MB/s
192.168.100.152 -> 192.168.100.154    104 MB/s
----------------------------------------------
Max: 113 MB/s    Min: 101 MB/s    Avg: 103.8 MB/s

192.168.100.152 <- 192.168.100.154    42.2 MB/s
192.168.100.152 <- 192.168.100.154    41.2 MB/s
192.168.100.152 <- 192.168.100.154    41.1 MB/s
192.168.100.152 <- 192.168.100.154    43.0 MB/s
192.168.100.152 <- 192.168.100.154    42.3 MB/s
192.168.100.152 <- 192.168.100.154    42.3 MB/s
192.168.100.152 <- 192.168.100.154    40.2 MB/s
192.168.100.152 <- 192.168.100.154    40.9 MB/s
192.168.100.152 <- 192.168.100.154    41.3 MB/s
192.168.100.152 <- 192.168.100.154    42.0 MB/s
-----------------------------------------------
Max: 43.0 MB/s    Min: 40.2 MB/s    Avg: 41.65 MB/s

Я понятия не имею, почему он достиг максимума в 113 МБ / с при первом тестовом запуске, локальном или удаленном. Он сохранял эту скорость на протяжении всего теста, график был почти плоским при 113 МБ / с. Как и раньше, я использовал 60-секундный интервал для каждого запуска. Однако при следующем запуске он снизился до 104 МБ / с.

Как вы можете судить по этим значениям, у меня все еще такая же пропускная способность с этим адаптером Intel, как и со встроенным адаптером Realtek. Поэтому я могу с уверенностью сказать, что это не имеет никакого отношения к самому адаптеру. Таким образом, мы можем перестать обвинять RTL8111B в том, что он является младшим или меньшим чипом, чем RTL8111C, найденный на другой материнской плате. Это все больше и больше напоминает проблему программного обеспечения / ОС / конфигурации или все три вещи одновременно.

Обновление 8 - отличные результаты с Ubuntu LINUX

После того, как я исчерпал все остальные варианты, я наконец решил провести несколько тестов с Linux, и я получил отличные результаты. Я использовал систему Ubuntu Linux 13.10 Live и Iperf для Linux (версия 2.0.5-3) как на локальной, так и на удаленной машине. Вот результаты.

=======================================================
REALTEK 8111C <-> REALTEK 8111B | IPERF ON UBUNTU LINUX
=======================================================

local: 192.168.100.152
remote: 192.168.100.151

192.168.100.152 -> 192.168.100.151    112 MB/s
192.168.100.152 -> 192.168.100.151    112 MB/s
192.168.100.152 -> 192.168.100.151    112 MB/s
192.168.100.152 -> 192.168.100.151    112 MB/s
192.168.100.152 -> 192.168.100.151    112 MB/s
192.168.100.152 -> 192.168.100.151    112 MB/s
192.168.100.152 -> 192.168.100.151    112 MB/s
192.168.100.152 -> 192.168.100.151    112 MB/s
192.168.100.152 -> 192.168.100.151    112 MB/s
192.168.100.152 -> 192.168.100.151    112 MB/s
----------------------------------------------
Max: 112 MB/s    Min: 112 MB/s    Avg: 112 MB/s

192.168.100.152 <- 192.168.100.151    110 MB/s
192.168.100.152 <- 192.168.100.151    111 MB/s
192.168.100.152 <- 192.168.100.151    111 MB/s
192.168.100.152 <- 192.168.100.151    111 MB/s
192.168.100.152 <- 192.168.100.151    111 MB/s
192.168.100.152 <- 192.168.100.151    110 MB/s
192.168.100.152 <- 192.168.100.151    111 MB/s
192.168.100.152 <- 192.168.100.151    111 MB/s
192.168.100.152 <- 192.168.100.151    111 MB/s
192.168.100.152 <- 192.168.100.151    111 MB/s
----------------------------------------------
Max: 111 MB/s    Min: 110 MB/s    Avg: 110.8 MB/s

Локальный (скачать, загрузить, простаивать) ...

А.Я. Аляска аль утра an

Как вы можете видеть, я получаю одинаковую пропускную способность в обоих направлениях при использовании Ubuntu. Это потому, что я использую одну и ту же ОС на обеих машинах, или это что-то еще? Получу ли я одинаковую пропускную способность, если на обеих машинах будут установлены одинаковые версии Windows? Я не понимаю, почему это будет иметь значение, если я использую слегка устаревшую версию Windows, а именно Vista, на одном компьютере и последнюю версию на другом? ... Я имею в виду, что Vista по-прежнему является текущей и поддерживаемой ОС и поддерживается Microsoft , Windows XP - это другая история.

Но я знаю, что они делают все возможное, чтобы убить Vista. Например, последняя версия Office 2013 намеренно не поддерживается в Windows Vista. Я уверен, что Microsoft желает, чтобы Vista никогда не случалась. Так же, как они будут хотеть, чтобы Windows 8.0 никогда не случалась. Но я, как правило, так же настойчив, как и они, и я не обновляю свои установки Windows, пока я абсолютно не должен.

Поэтому вопрос заключается в том, как получить одинаковую пропускную способность в обоих направлениях с двумя разными версиями Windows. Windows Vista должна поддерживать гигабитную скорость - это не 20-летняя ОС или что-то в этом роде, это не Windows 95, о которой мы говорим. Vista - это современная ОС. Я еще не тестировал одну и ту же версию Windows на обеих машинах. Там может быть разница в реализации TCP или что-то между двумя версиями ОС. Если это так, то я, вероятно, буду вынужден обновить машину Vista. Либо так, либо перейдите на Linux. Я не готов платить больше за меньшее. Зачем мне обновлять Windows, чтобы получить пропускную способность гигабита в обоих направлениях? ...

Обновление 9 ...

кабель

Я попытался поменять кабель. Я получил те же результаты, что и раньше. Я также получил новый соединительный кабель Cat 6 и попробовал тот. Результаты теста пропускной способности были одинаковыми. Таким образом, кабель не проблема здесь. Я использовал только предварительно соединенные / литые соединительные кабели. Так что проводка должна быть правильной. Но я планирую прекратить мои собственные установочные кабели позже.

FW и AV

Что касается брандмауэра (FW) и антивируса (AV), я не использую стороннее программное обеспечение FW или AV. У меня есть только Брандмауэр Windows и Основы безопасности. Я отключил их обоих на обеих машинах. Результаты теста пропускной способности были такими же, как и раньше.

ао ар

водн Арканзас как

Тест скорости сети

Я установил LAN Speed ​​Test Lite 1.3 на локальном компьютере. Я считаю, что тест проводится между памятью на локальном диске и диском на удаленной машине. Я не уверен. Но он запрашивает общий путь на удаленной машине. Я использовал o $ share на пульте.

в а.е. средний

Upload: 427 Mbps
Download: 420 Mbps

Я не слишком доверяю этим результатам. Если вы посмотрите на график, то увидите, что он сильно меняется на протяжении всего теста. Тест был «последовательным» тестом, то есть сначала запишите (загрузите) тест, а затем прочитайте (загрузите) тест. Очевидно, что при одновременном тестировании загрузки / выгрузки общая пропускная способность будет ниже. Но я не заинтересован в таких тестах. До сих пор я проводил только «последовательные» тесты с обоими тестами передачи файлов в Windows (совместное использование файлов / smb) и в Iperf.

Я не проводил тесты памяти в память с помощью LAN Speed ​​Test, потому что он требует использования программы под названием LST Server на удаленном компьютере, и эта программа требует регистрации для его использования.

Обновление 10 ...

Тесты дисков

Я использовал Crystal Disk Mark 3.0.3 для тестирования дисков. Вот результаты.

Local disk: 118 MB/s read, 113 MB/s write
Remote disk: 70 MB/s read, 69 MB/s write

Это последовательные скорости чтения и записи, основанные на 5 запусках и загрузке 1000 МБ.

Это локальный диск (отметка диска, чтение, запись) ...

ав топор ау

И это удаленный диск ...

Аризона

Но я не понимаю ... эти результаты кажутся противоречивыми.

Окей, локальный диск может считывать со скоростью 118 МБ / с, что позволяет загружать около 100 МБ / с. Но удаленный диск не сможет получить его, если он способен записывать только 69 МБ / с. Но по какому-то волшебному повороту я все равно получаю в среднем чуть более 100 МБ / с.

Идти наоборот, имеет больше смысла. Если удаленный диск может читать со скоростью 70 МБ / с, а локальный диск может записывать со скоростью 113 МБ / с, загрузка не должна быть быстрее 70 МБ / с. Я получаю в среднем около 40 МБ / с. Это казалось бы разумным.

Поэтому я не могу ничего сделать из этих результатов. Я имею в виду диск на локальном компьютере почти не используется. Это также диск с ОС, и это единственный раздел в этой системе. Пока удаленный диск почти заполнен, он также разбит на несколько разделов. Тем не менее, он не используется для ОС. Я выбрал букву диска O:для теста, потому что это раздел с наибольшим количеством свободного места.

(Обратите внимание, что C:в предыдущих тестах я использовал букву диска, которая находится на совершенно отдельном диске Seagate, который содержит ОС на удаленном компьютере. Поэтому эти показания не сравнимы.)

Написать кеширование

С включенным кэшированием записи на диск я получил эти результаты.

Local to remote: 106 MB/s
Remote to local: 42.2 MB/s

Затем я отключил кэширование записи на всех дисках удаленного и локального дисковода.

ба бб

Я не перезагружался, потому что никакие перезагрузки не запрашивались, чтобы изменения вступили в силу. Затем я получил следующие результаты.

Local to remote: 106 MB/s
Remote to local: 42.1 MB/s

Там не было практически никаких изменений. Нет перезагрузки, и перезагрузка не была запрошена.

Пакет QOS

Затем я перешел к отключению QOS Packet Scheduler для соответствующего адаптера на удаленном компьютере, а затем на локальном компьютере.

до н.э бод

Local to remote: 107 MB/s
Remote to local: 41.9 MB/s

Здесь нет существенных изменений. Опять же, перезагрузка и перезагрузка не были запрошены.

Джамбо пакеты

Затем я включил Jumbo-пакеты и использовал настройку 4 ГБ, потому что 4 КБ - это самый большой размер MTU, который поддерживается на обеих машинах.

быть Б.Ф.

Local to remote: 105 MB/s
Remote to local: 33.3 MB/s

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

Local to remote: 117 MB/s
Remote to local: 33.2 MB/s

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


4
Я думаю, что показатели пропускной способности, отображаемые в диспетчере задач, автоматически масштабируются на основе фактической пропускной способности. Это, безусловно, для Windows 8 и моего в настоящее время показано 54 Мбит / с, и в последние несколько минут это было 100 МБ и 100 КБ (в режиме ожидания) и различные значения между ними.
sgmoore

12
Рассматривали ли вы загрузку обеих машин с live-компакт-дисков Linux (два идентичных загрузочных диска), чтобы исключить проблемы с программным обеспечением, и перенос файла с RAM-диска на RAM-диск для исключения проблем с жесткими дисками?
Моше Кац

1
Я хотел добавить сюда свои 2 цента ... мой первый: вы отключили все вирусы? мое второе: попытались ли вы перевернуть кабель, чтобы посмотреть, не исчезнет ли ваша проблема (переключение конца кабеля на другой компьютер и наоборот). Если вы получаете быструю загрузку, но медленную загрузку, то проблема в проводке. (т.е. ваши пары не скручены вместе, а с другими парами)
Рик

1
@MosheKatz Я только что сделал это. По результатам, которые я только что опубликовал (см. Обновление 8), вы можете видеть, что я получил отличную пропускную способность в обоих направлениях с Ubuntu.
Самир

2
@ Сэмми, вау, эта тема набирает обороты :) Я видел, как ты пробовал Linux на обоих концах. Но вы уже пробовали Linux <-> Win8 и / или Linux <-> Win.vista? Если один из них имеет полную скорость в обоих направлениях, вы знаете, что другой виноват (что будет показано в другом тесте), и вы / мы можем сконцентрировать наши усилия на этой машине.
Рик

Ответы:


6

На основании вашего ответа:

@ewhac Размер окна TCP на локальной машине обычно отличается от размера окна на удаленной машине. Значение по умолчанию составляет 0,06 МБ на локальном (win 8) и 0,01 МБ на удаленном (Vista). Должны ли они быть одинакового значения? Как я могу попросить его угадать MSS? Это будет ключ -m («печатать максимальный размер сегмента»)? Я обычно не устанавливаю ничего из этого. Зачем мне это? - Сэмми 30 ноября в 21:39

Размер окна TCP представляет собой максимальный объем данных, которые стек TCP будет сбрасывать по проводной шторке перед остановкой и ожиданием получения подтверждений от удаленного компьютера - другими словами, максимальный объем неподтвержденного трафика на проводе. Тот факт, что окно TCP на компьютере с Vista намного меньше, чем на компьютере с Windows Se7en, подтверждает теорию, что вы недостаточно заполняете канал перед остановкой и ожиданием ACK.

Поэтому первое, что я бы попробовал, - это увеличить размер окна TCP на компьютере с Vista, используя -wаргумент. 0.01MB - несколько бесполезная единица; Я предполагаю, что это 16 КБ. Итак, начните с 16 КБ и запустите тест:

iperf -c -w 16K ...

Удвойте размер окна и повторите тест:

iperf -c -w 32K ...

Надеюсь, вы должны наблюдать увеличение скорости. Продолжайте удваивать размер окна, пока больше не увидите значительного увеличения скорости.


4

Как указывалось ранее, вам потребуется изменить размер окна TCP в iperf, чтобы повысить пропускную способность по высокоскоростным каналам с низкой задержкой. Разные версии Windows (или iPerf) могут иметь разные размеры окон по умолчанию. Попробуйте "-w 256k" для запуска как на клиенте, так и на сервере.

Можете ли вы подтвердить направление стрелки на ваших графиках? В iPerf данные передаются с клиента на сервер (в противоположность тому, что я обычно думаю).

Вы можете исключить жесткие диски как причину, поскольку iPerf не касается жестких дисков.

Я думаю, что вы уже убедились, что используете последние драйверы NIC. Там не должно быть необходимости возиться с ручной настройкой скорости / дуплекс. То же самое с большими кадрами - они не стоят хлопот с современным оборудованием.

Убедитесь, что большая разгрузка отправки (LSO) и разгрузка большого приема (LRO) включены на обеих сетевых картах. Некоторые драйверы сетевых адаптеров используют разные имена (или несколько опций, которые управляют этим поведением), поэтому вам, возможно, придется охотиться. Обычно по умолчанию все они включены.


3

Я думаю, вам нужно прочитать немного больше о том, как работает Iperf. Если вы не установите правильный размер окна tcp, ваши результаты будут сильно отличаться. Я верю, что это ключ -w. Этот веб-сайт поможет рассчитать оптимальный размер окна TCP. Вам нужно знать RTT и пропускную способность, чтобы рассчитать его. http://www.kehlet.cx/docs/tcpwin.php

Также попробуйте другие инструменты, такие как «LAN Speed ​​test» lite, которые будут просто выполнять переносы вверх и вниз между акциями с обоих концов. Его результаты довольно близки в тестировании, которое я провел с ним. Также убедитесь, что вы проверили максимальную скорость вращения вашего жесткого диска.


Могу ли я использовать команду ping для определения RTT? Если я пингую пульт, я получаю менее 1 мс. Но это не говорит мне, сколько. Могу ли я использовать какой-нибудь другой инструмент, более точный? Я знаю, что не могу использовать 0 мс в формуле.
Самир

Я использовал программу ping под названием hrping . Что касается LAN Speed ​​Test Lite, он был не так хорош, как Iperf. Может быть, это станет лучше, если на другом конце будет установлен LST-сервер. Но мне не хотелось регистрироваться, чтобы использовать его или платить за лицензию.
Самир

3

Пара моментов, которые могут вам помочь. Стек TCP IP теперь реализован по-другому в выпусках Windows 7. Я бы внимательно посмотрел на мои оптимизации TCP, возможно, между двумя вашими боксами их не так много, но все же стоит настроить некоторые параметры на вашем Vista Box.

Использование netsh int tcp set global congestionprovider = ctcp устарело. Чтобы установить или изменить поставщик перегрузки, необходимо использовать следующую команду:

Прочитайте статью здесь: http://forums.speedguide.net/showthread.php?280646-When-will-TCP-Optimizer-support-Windows-8-amp-Windows-Server-2012

netsh int tcp set дополнительные пользовательские 300 10 ctcp отключен 50 Затем введите: netsh int tcp set дополнительные пользовательские

Для получения более подробной информации о вышеупомянутой команде просто введите: netsh int set extramental

Чтобы проверить, какой перегруженный провайдер вы используете в настоящее время, используйте следующее: netsh int tcp show Дополнительные

Но только Win Server 2012 может создавать собственные шаблоны CTCP, возможно, проблема.

Также автоматическое масштабирование может быть фактором.

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

Другая мысль - размеры пакетов, записываемых на жесткий диск. Какой размер секторов жесткого диска отформатирован в 512b ~ 64K, это может быть узким местом кеширования. Стоит учитывать при использовании скоростей GBit - или вместо этого тестируйте с диском SSD!

Вы смотрели на включение Jumbo Packets (если это относится к вашей сетевой карте)


Можно ли отключить масштабирование размера окна и установить вручную значение RWIN на 64 КБ?
Самир

Я только что прочитал, что значение RWIN динамически изменяется в современных системах Windows. Это правда? Что RWIN не может быть фиксированным значением?
Самир

2

Отличные результаты с Ubuntu LINUX

Это звучит довольно знакомо ... вы получаете необъяснимо плохую iperfпроизводительность в Windows, но то же самое оборудование прекрасно работает с Linux.

После того, как я снова и снова сражаюсь в этой битве, я пришел к выводу, что iperfв Windows все плохо . Я не знаю почему ... честно, я перестал заботиться, потому что я знаю, что всегда могу получить нормальные результаты от Linux.

Так что если вы хотите знать, почему у вас такая плохая производительность, посмотрите не дальше, чем в приложении.


2

Что-то, чтобы попытаться остановить сервис MMCSS. Да, вы временно потеряете звук, но, возможно, что-то активирует его, что приведет к снижению сетевой активности, чтобы сетевая активность не заглушала другую активность.

Смотрите здесь для получения дополнительной информации о MMCSS и регулировании сети: http://blogs.technet.com/b/markrussinovich/archive/2007/08/27/1833290.aspx

Его можно настроить согласно этим инструкциям: http://support.microsoft.com/kb/948066

Я сомневаюсь, что это является причиной в этом случае, поскольку пропускная способность, вероятно, будет ниже, но после долгого удара головой о стену с моими собственными проблемами пропускной способности в Vista, я обнаружил, что это было причиной. Я установил NetworkThrottlingIndex на 70, и, наконец, получил ожидаемую пропускную способность.


2

Одна вещь, которую вы еще не пробовали, это удаление удаленного дифференциального сжатия в Vista.

Мое мышление мотивировано интенсивным использованием процессора в Vista. Возможно, сетевой драйвер Vista не знает, как разгрузить это на сетевую карту, в то время как Windows 8 делает это гораздо эффективнее.

Для получения полной информации см. Статью:
Предотвратите медленное копирование файлов по сети в Vista, отключив удаленное разностное сжатие .

Но в двух словах, просто снимите отметку Remote Differential Compressionс Панели управления -> Программы и компоненты -> Включение и выключение функций Windows, затем перезагрузите компьютер.

образ


0

Раньше я преследовал свой хвост с точно такой же проблемой некоторое время! Медленные скорости передачи в одном направлении, в моем случае исходящие (восходящая линия связи).

Windows 7 Pro, Celeron J1800 со встроенной сетевой картой Realtek Gigabit 8111C. QNAP 453a и MacBook Pro на другом конце.

При измерении через Iperf3 я получал 112 Мбит / с с моим Windows 7, установленным в качестве клиента (загрузка ЦП 25-30%). И только 39-41 Мбит / с при установке в качестве сервера с высокой загрузкой ЦП между 50-100%. Настолько плохо, что ПК зависнет во время тестирования пропускной способности.

Максимальная скорость передачи файлов не превышала 45 Мбит / с, независимо от того, загружал я файлы или загружал их на свой NAS или MAC.

Я получал только 35-45 мегабайт в секунду. Довольно расстраивает!

Закончил быть плохим драйвером карты локальной сети. Я был одержим обновлением драйверов и всегда обновлял свои драйверы, когда новые становятся доступными. Угадайте, что после нескольких обновлений моя сетевая карта замедлилась.

Некоторые из вас могут сказать, просто удалите старый драйвер и установите новый. Просто, а? Я пытался и пытался, это не сработало для меня.

Вот мое решение:

Установил windows с нуля с OEM драйверами с сайта производителя. Также я сделал следующее:

В разделе «Диспетчер устройств» / «Карта LAN» / «Дополнительные настройки» / «Отключить все, кроме управления потоком».

В разделе «Функции Windows» отключите удаленное разностное сжатие.

Сейчас средняя скорость составляет 80-100 Мбит / с.

Извините за некачественные фотографии.

введите описание изображения здесь


-2

У Линуса из Linus Tech Tips на Youtube была та же проблема, и я извиняюсь, но я забыл, каково было решение. Это недавнее (по состоянию на 20.04.2016) видео, и я могу ошибаться, но я думаю, что в итоге это был тот случай, когда одним потоком на процессоре является ограничивающий фактор, так что если у вас более старое оборудование, и вы пытаясь набрать 1 Гбит / с, на самом деле проблема в процессоре, если он перекладывает основную часть работы на процессор, что в наши дни делает большинство встроенных сетевых адаптеров. Я могу ошибаться, это его недавнее видео, я настоятельно рекомендую вам проверить его трансляцию. Для чего это стоит я сталкиваюсь с той же проблемой на моем гигабитном интернет-соединении.


«Я забыл, каково было решение» - не так ли много ответа?
DavidPostill

1
Так что найдите время, чтобы определить, какое решение было. Этот ответ бесполезен, вы все равно можете быть
забаненым за отправку
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.