9

Недавно я настроил общий доступ к файлам Windows через гигабитную сеть Ethernet (я не использую гигантские кадры) с сервером Samba и клиентом Windows Vista. Я сделал несколько копий файлов, но максимальная пропускная способность, которую я вижу, составляет 20 МБ / с (мегабайт, а не мегабит), что составляет около 15% от теоретического максимума 125 МБ / с для сети. Сервер имеет RAID-массив, который может обрабатывать около 75 МБ / с (узким местом является шина PCI), а клиент может обрабатывать около 40 МБ / с при копировании с диска на диск.

Я должен добавить, что в то время в сети не было другого трафика.

Я понимаю, что никогда не получу теоретический максимум, но я не думал, что это будет так плохо.

Какова типичная производительность Windows File Sharing (SMB) в гигабитной сети Ethernet?

Бонусные баллы: что я могу настроить (кроме использования гигантских кадров), чтобы сделать это быстрее?

3 ответа3

7

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

Для справки, я только что установил новые коммутаторы Gbit в нашем офисе (заменив старые 100Mbit коммутаторы), и большие передачи SMB выполняются со скоростью почти (но меньше) 30Mbyte/sec между каждой комбинацией протестированных мной машин. Я только что провел быстрый тест с netcat между двумя машинами и получил похожие результаты, поэтому я не думаю, что SMB является узким местом. Две машины, которые я только что протестировал, имеют два переключателя между ними, которые могут иметь эффект, но я думаю, что этот эффект минимален, учитывая, насколько близки цифры передачи SMB к машине на одном и том же переключателе.

Лучшая скорость передачи данных, которую я видел в сети Gbit, была немного ниже 50 Мбайт / с в самом быстром виде. Это было при переносе образа диска с одного компьютера в файл на другом (для целей преобразования в виртуальный диск VMWare. В этом случае две машины были соединены через короткий перекрестный кабель, а не через коммутатор. По совпадению одна из рассматриваемых машин была одной из тех машин, которые я только что проверил, и получил ~ 29 Мбайт / с - наиболее вероятным виновником основного узкого места в моем случае, вероятно, является 8-летняя проводка в здании, которая, возможно, была сделано по дешевке! Быстрый (и столь же ненаучный) тест в моей маленькой домашней сети показывает, что скорость передачи данных больше, чем 35 Мбайт / с, копирование файла из общего ресурса Samba в Windows и 25 Мб / с в другом направлении (я не уверен, почему существует расхождение там, как и в обоих случаях, копией управляли с помощью теракопии на коробке Windows - возможно, мне придется исследовать это позже, позже.

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

Короче говоря, исходя из моего анекдотического опыта, ваши 20 Мбайт / с немного медленны, но не так массово. Все мои установки Windows и Samba практически не настроены, поэтому я подозреваю, что ваше оборудование / проводка - это разница между тем, что я вижу, и тем, что вы видите.

редактировать

Конечно, через пять лет после этого ответа аппаратное и программное обеспечение пошло дальше. Я часто вижу скорость передачи более 90 МБ / с на машинах с сетью Gbit, даже с дешевым комплектом. Мой домашний мультимедийный / резервный / другой сервер, кажется, ограничен более чем 60 для массовой передачи, но это похоже на то, что samba привязана к процессору на одном ядре аппаратного обеспечения блока.

3

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

(Размер окна TCP * 8 бит / RTT в миллисекундах) = максимальная пропускная способность TCP в бит / с

Хотя у вас может быть гигабитная сеть, один поток TCP вряд ли сможет достичь такого высокого уровня.

Вот простая таблица, предполагающая, что у вас по умолчанию размер окна 65535Byte TCP в Vista

RTT 10 мс => пропускная способность TCP = 52428000 бит / с = 52 Мбит / с

RTT 20 мс => Пропускная способность TCP = 26214000 бит / с = 26 Мбит / с

RTT 50 мс => Пропускная способность TCP = 10485600 бит / с = 10 Мбит / с

RTT 100 мс => Пропускная способность TCP = 5242800 бит / с = 5,2 Мбит / с

RTT 150 мс => Пропускная способность TCP = 3495200 бит / с = 4,3 Мбит / с

RTT 200 мс => Пропускная способность TCP = 2621400 бит / с = 2,5 Мбит / с

RTT 300 мс => Пропускная способность TCP = 1747600 бит / с = 1,7 Мбит / с

RTT 500 мс => пропускная способность TCP = 1048560 бит / с = 1 Мбит / с

При скорости 20 Мбит / с или 160 Мбит / с ваша задержка при передаче туда и обратно составляет порядка 3 миллисекунд. Единственный другой способ ускорить это - использовать оптимизаторы TCP, которые де-дуплируют по проводам или объединяют фрагменты в большие пакеты. Через локальную сеть, которая, вероятно, не принесет вам много за счет. Если вы используете механизм SoHo, такой как Linksys или Netgear, ваша задержка может быть вызвана отсутствием общих буферов на коммутаторе. Если это более крупный коммутатор, например 24-портовый, попробуйте убедиться, что два устройства подключены к одной и той же ASIC. Это поможет задержке сериализации, но не намного. Если бы вы могли уменьшить его до 2 мс, вы бы получили ускорение до 31-32 Мбайт / с. Если они находятся на двух разных коммутаторах, мало что можно сделать без нового оборудования.

2

Не то, чтобы это помогло вам в этом случае, но Vista/Windows 7, общаясь с Windows 2008 Server, будет использовать SMB2, который намного более эффективен, чем обычный SMB, и будет использовать гораздо большую пропускную способность сети. Дополнительные сведения см. В разделах « Повышение производительности файлового сервера с протоколом SMB2 в Windows Server 2008» и « Повышение производительности сети в Microsoft Windows Vista и Windows Server 2008» .

SMB2 работает в Samba 4, но похоже, что он перенесен в Samba 3.5.

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