none
Performance and Reliability considerations of SMB 3.0 vs MS iSCSI

    Pergunta

  • Hi experts,

      Is there a best practice/comparison of SMB 3.0 vs. MS iSCSI for running SQL server? Which one is a better solution running SQL server for performance and reliability considerations ?

    quinta-feira, 27 de junho de 2013 09:30

Respostas

  • Hi experts,

      Only Windows server 2012 and Windows 8 support SMB 3.0 so I test SMB 2.0. I am really happy about MS iSCSI target software. Any comments?

    MS iSCSI vs. SMB 2.0

    MS iSCSI: ~ 1Gbps

    15sec to query WBCROSSGT

    SMB 2.0: ~ 500Mbps

    32sec to query WBCROSSGT

    1) For GbE both should do wire speed. So make sure you run indeed SMB 3.0 and TCP stack is tuned and so on.

    2) Latency for production will be higher for iSCSI (all I/O is coupled with seeks). 

    I'd suggest you to run Intel I/O Meter with a different I/O patterns. And SQLIO (as SQL Server is your production environment).



    StarWind iSCSI SAN & NAS

    • Marcado como Resposta dennislee124 segunda-feira, 1 de julho de 2013 09:17
    sexta-feira, 28 de junho de 2013 10:15

Todas as Respostas

  • Hi experts,

      Only Windows server 2012 and Windows 8 support SMB 3.0 so I test SMB 2.0. I am really happy about MS iSCSI target software. Any comments?

    MS iSCSI vs. SMB 2.0

    MS iSCSI: ~ 1Gbps

    15sec to query WBCROSSGT

    SMB 2.0: ~ 500Mbps

    32sec to query WBCROSSGT

    sexta-feira, 28 de junho de 2013 05:16
  • Thank you for sharing the result.

    Here is another thread which discussed the same thing. Check if it could provide some help:

    http://social.technet.microsoft.com/Forums/windowsserver/en-US/d634db50-eb7c-41d2-bbcb-cfcee3c0c70d/smb-30ws2012-vs-iscsinexentastor-io-performance


    TechNet Subscriber Support in forum |If you have any feedback on our support, please contact tnmff@microsoft.com.

    sexta-feira, 28 de junho de 2013 08:41
  • Hi experts,

      Is there a best practice/comparison of SMB 3.0 vs. MS iSCSI for running SQL server? Which one is a better solution running SQL server for performance and reliability considerations ?

    There are few things you should be aware of:

    1) Microsoft iSCSI target *DOES NOT* do any server-side caching. At all. So you can workaround this by using third-party block-level caching tools (flash, RAM or both) but by default as SMB *DOES* server-side caching you'll see a great performance benefit from using SMB 3.0 versus *Microsoft* iSCSI target in a real life (simple synthetic tests and basic things like file copy are not going to show you anything as it's very difficult to simulate cache hit access pattern with them).

    2) Microsoft iSCSI target *DOES NOT* scale out well with the number of nodes increased. So you can cluster it and build active-passive fault-tolerant config but only one node will perform I/O and other one will stand by waiting. At the same time SMB 3.0 with SoFS does more or less good job (in case you have many I/O requestors) within the same scenario: performance increases with SMB 3.0 active nodes added.

    3) Microsoft iSCSI target *DOES NOT* scale well with MPIO on a single node. You'll see no benefit after increasing number of NICs after four. At the same time SMB 3.0 does multichannel extremely well.

    4) Microsoft iSCSI taret *DOES NOT* provide wire speed with 10 GbE because of the huge internal latency. SMB 3.0 from the other point can use whole 10 GbE bandwidth. Ethernet utilization for GbE is the same for both. You should really tune your config for SMB assuming the pictures below.

    So at the end of the day: if you select between MS target and SMB 3.0 on a single node with GbE uplinks - stick with SMB 3.0 for performance and simplicity. But may leave iSCSI from Microsoft. If you're thinking about 10 GbE and many nodes in the nearest future - SMB 3.0 is the only way to go.

    P.S. You need to understand however it's not about iSCSI, it's about *Microsoft* iSCSI. So commercial targets from other companies *DO* multi-level caching (RAM, flash and both), do active-active, scale out well and do wire speed with 10 GbE. So it goes like (performance increase from left to right):

    Microsoft iSCSI target -> SMB 3.0 -> Commercial targets

    The question you should be asking here is - if SMB 3.0 is *GOOD ENOUGH* for you - why should you bother to pay money for third-party software? :)


    StarWind iSCSI SAN & NAS


    • Editado VR38DETTMVP sexta-feira, 28 de junho de 2013 10:12 Grammar :)
    sexta-feira, 28 de junho de 2013 10:10
  • Hi experts,

      Only Windows server 2012 and Windows 8 support SMB 3.0 so I test SMB 2.0. I am really happy about MS iSCSI target software. Any comments?

    MS iSCSI vs. SMB 2.0

    MS iSCSI: ~ 1Gbps

    15sec to query WBCROSSGT

    SMB 2.0: ~ 500Mbps

    32sec to query WBCROSSGT

    1) For GbE both should do wire speed. So make sure you run indeed SMB 3.0 and TCP stack is tuned and so on.

    2) Latency for production will be higher for iSCSI (all I/O is coupled with seeks). 

    I'd suggest you to run Intel I/O Meter with a different I/O patterns. And SQLIO (as SQL Server is your production environment).



    StarWind iSCSI SAN & NAS

    • Marcado como Resposta dennislee124 segunda-feira, 1 de julho de 2013 09:17
    sexta-feira, 28 de junho de 2013 10:15