Назад | Перейти на главную страницу

Насколько быстро клиент CIFS Windows 2008 может писать на сервер SAMBA с помощью сетевой карты 10 Гбит?

У нас возникла проблема с производительностью при использовании клиента Windows 2008 CIFS. У нас есть сервер FreeNAS, который обеспечивает скорость записи ZFS 1,3 ГБ / с. У нас есть сеть 10 Гб, соединяющая NAS-сервер и клиенты CIFS. Используя два клиента Linux CIFS, мы можем получить около 1,2 ГБ / с. Но клиенты Windows 2008 могут дать нам только 400 МБ / с.

Это лучшее, что может предоставить клиент Windows 2008, или у нас действительно плохо настроенный клиент Windows?

Очень признателен.

Вы можете попробовать включить поддержку smb2 на стороне сервера.

max protocol = SMB2 в разделе [global] вашего smb.conf

Следует учитывать размер MTU или то, что называется Jumbo Frames. Еще две вещи, на которые стоит обратить внимание - полнодуплексный режим и TOE.

Я запускаю FreeNAS 8.3.1 с экспортом дисков iSCSI обратно в Linux-машины, на которых виртуальные машины работают без монтирования, которые довольно интенсивны по вводу-выводу. Установка размера кадра, превышающего значение по умолчанию 1500, резко повлияла на производительность и пропускную способность. Это должно быть установлено как на стороне клиента, так и на стороне сервера, иначе это не сработает.

FreeNAS имеет несколько хороших графиков, позволяющих определить ваши узкие места на вкладке системной информации.

Да, и будьте осторожны, изменение размера MTU - это отчасти искусство, а отчасти наука. Драйверы в FreeBSD, Linux и Windows ненадежны в допустимых размерах. Возможно, вам придется покопаться в документации драйвера или поэкспериментировать, чтобы получить приемлемые размеры. Кроме того, по умолчанию для всего пути используется наименьшее значение.

На linux или freebsd / freenas:

ifconfig -a | grep -i mtu
ifconfig eth0 mtu 9122 up
ifconfig em0 mtu 9122

В Windows щелкните правой кнопкой мыши сетевой адаптер в диспетчере устройств и просмотрите свойства драйвера сетевого адаптера. MTU или Jumbo Frame или Framesize могут быть названием настройки для вашего драйвера. Значение по умолчанию обычно 1500.

Чтобы проверить значения MTU маршрута из Linux:

route get <ipaddr>

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

Для моего использования iSCSI было важно, чтобы размер блока экспортируемого тома был больше, и я установил его на 4096 для виртуального устройства. Обратите внимание на размеры блоков основного экспортируемого тома, так как они также влияют на производительность. Это может не повлиять на экспорт SMB.

И последний вопрос, если ваша сетевая карта 10 Гб ПАЛЕЦ (TCP Offload Enabled) включен или аппаратное ускорение?

TOE - это сетевая карта, эквивалентная графическому процессору от графической карты, вместе с чем-то вроде DMA (Direct Memory Access), используемым контроллерами жестких дисков старого стиля. Это позволяет разгрузить работу стека TCP / IP на сетевую карту вместо того, чтобы запускать ее через переднюю шину материнской платы и ЦП, которые являются узким местом для данных, обрабатываемых на этой скорости.

Для того, чтобы то, что вы просите, работало, вам потребуются карты 10 Гбит / с, для которых в ОС и драйверах будет включен TOE (аппаратное ускорение). Если у вас уже включен TOE, игнорируйте эту часть ответа.