Skip to main content

Windows 2008 R2 TCP/IP iSCSI tuning

Вводная по проблеме: после настройки Sun Storage 7000 и Windows 2008 R2 утилизация сети по данным Task Manager OS Windows, Wireshark и аналитики 7000-ной серии составляла порядка 25-30%, пропускная способность одного линка составляла не более 25-35 Мб/с в пиковых значениях. Что меня, естественно, не устраивало в корне – 3 линка в сумме давали максимальное аггрегатное значение в 100-120 Мб/с пропускной способности, и – самое нехорошее – создавало абсолютно нездоровую и непроектную нагрузку по CPU на системе хранения – SYS по аналитике на 7410 достигал странных (с моей точки зрения) значений в 7-10 процентов при фактически очень низкой нагрузке.

Кое-какие правки в реестре. Для получения вменяемых результатов с iSCSI.

Разрешаем Jumbo Frames для адаптеров (для примера взят SunFire X4600M2, Intel NIC 1000/MT Dual):
Windows 2008 R2 Tuning - GbE Jumbo Frames

“Чиним” ключи реестра:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
	GlobalMaxTcpWindowSize = 0x01400000 (DWORD)
	TcpWindowSize = 0x01400000 (DWORD)
	Tcp1323Opts = 3 (DWORD)
	SackOpts = 1 (DWORD)

…и…

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces]
выбираем адаптера с нашими iSCSI подключения, исправляем ключи:
	TcpAckFrequency = 0x1 (DWORD)

Радуемся скорости!