iSCSI Tweaks and Recommendations

Whilst playing with my new and awesome QNAP TS-639 Pro Turbo NAS I came across some very interesting tweaks and recommendations for iSCSI in general. This is a summary of my research on the subject. I’m not going to explain each tweak and reg hack. Test them in a test environment NOT in production. By the way, REGEDIT could result in your system not starting properly or in data corruption or loss. Now that I’ve scared you, let’s see the registry tweaks for tuning up your SCSI interface 🙂

  • Use gigabit adapters and eventually 10GbE for high perf demanding apps but more important. use the proper cable, that is CAT 6 minimum.
  • Force full-duplex on all adapters and switch ports that will participate in the iSCSI traffic.
  • Enable 9K Jumbo frames for your GbE network adapters and switch ports. Refer to your adapters and switch manual.
  • Change the following TCP parameters in the registry at HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
    • GlobalMaxTcpWindowSize = 256960 (DWORD) N.B. For dedicated NIC, set TcpWindowSize = 256960 (DWORD) in Tcpip\Parameters\Interfaces\{dedicated NIC UUID}
    • Tcp1323Opts = 3 (DWORD)
    • SackOpts = 1 (DWORD)
  • In HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\iSCSI dedicated interface if any>
    • TcpAckFrequency = 1 (DWORD)
  • In HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class
    • search for MaxRequestHoldTime and change value to 0x00000258 (dec 600)
  • Use MC\S (instead of MPIO) for high performances and high availability
  • Disable DNS on your storage device. This one is a bit tricky if your device does other things such NFS, SMB/CIFS.
  • Always create persistent iSCSI target connections and bindings (see iSCSI Initiator Properties)
  • For Windows OS, set NTFS allocation unit size to 64KB and make sure you ALIGN the partition
  • For NTFS formated LUNs, never exceed 80% utilization, this is due to NTFS overhead
  • Multiple smaller spindles is always better than large ones. calculate IOPS from vendor specs
  • On your storage device array controller a queue exists (Target Port Queue Depth), make sure is big enough to handle all initiators. Modern storage can handle up to 2048 outstanding IOs.

About PiroNet

Didier Pironet is an independent blogger and freelancer with +15 years of IT industry experience. Didier is also a former VMware inc. employee where he specialised in Datacenter and Cloud Infrastructure products as well as Infrastructure, Operations and IT Business Management products. Didier is passionate about technologies and he is found to be a creative and a visionary thinker, expressing with passion and excitement, hopefully inspiring and enrolling people to innovation and change.
This entry was posted in Uncategorized. Bookmark the permalink.

3 Responses to iSCSI Tweaks and Recommendations

  1. Pingback: QNAP TS-639 Pro Turbo NAS Part 5 « DeinosCloud

  2. David Tocker says:

    Some of these recommendations may make tiny performance increases, but most will help in no way and may decrease performance in (most) applications. If you don’t *know for sure* that these tweaks are going to make any difference/test them yourself, then perhaps you are best to not push possible disinformation (Source: actually working with this stuff every day in enterprises and small business on occasion)

    • PiroNet says:

      I’m 100% agree with you!
      Hence my notice in the post; test in a sand box not in production, regedit hack can kill your Windows, etc…

      Thx for your comment David.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s