Recommendations for Windows iSCSI Configuration

Windows iSCSI configuration recommendations are split into two types. These recommendations are needed on both staging and target servers. 

  1. iSCSI configuration required for operational stability
  2. iSCSI configuration specific for performance improvement

iSCSI Configuration Required for Operational Stability

We recommend the following Microsoft iSCSI Initiator configuration parameters for Target and Staging Hosts. For details about configuring registry settings, see How to Modify the Windows Registry on the Microsoft Support site.

A Windows Server reboot is required after changing iSCSI configuration parameters.

40%|Registry KeyRegistry ValueTypeData
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\iSCSI\DiscoveryMaxRequestHoldTimeREG_DWORD0x384 (900)
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DiskTimeOutValueREG_DWORD0x384 (900)
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\<Interface GUID>TcpAckFrequencyREG_DWORD0x1 (1)
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E97B-E325-11CE-BFC1-08002BE10318}\<Instance Number>\ParametersiSCSIDisableNagleREG_DWORD0x1 (1)

For systems running Windows 2003 see Microsoft Knowledge base article 815230 for hotfix information regarding changing TcpAckFrequency.

iSCSI Configuration Specific for Performance Improvement

Below are recommendations for Windows iSCSI initiator configuration. Please note that the parameters below will affect ALL applications running on the Windows target host, so make sure that the following recommendations do not contradict best practices for other applications running on the host.

For targets running Windows Server, the iSCSI initiator driver timers are available at: HKLM\SYSTEM\CurrentControlSet\Control\Class\{4D36E97B-E325-11CE-BFC1-08002BE10318}\<Instance Number>\<Parameters>. For details about configuring registry settings, see How to Modify the Windows Registry on the Microsoft Support site.

Registry ValueTypeDefaultRecommendedComments
MaxTransferLengthREG_DWORD

262144

131072This controls the maximum data size of an I/O request. A value of 128K is optimal for the Delphix Engine, because it reduces segmentation of the packets as they go through the stack.

MaxBurstLength

REG_DWORD

262144

131072This is the negotiated maximum burst length. 128K is the optimal size for the Delphix Engine.

MaxPendingRequests

REG_DWORD255512This setting controls the maximum number of outstanding requests that the initiator allows. The Delphix Engine will this many requests at most to the target before receiving response for any of the requests.
MaxRecvDataSegmentLengthREG_DWORD65536 131072This is the negotiated MaxRecvDataSegmentLength.

Related Links