Does SMB3 have the performance and high availability required for Microsoft SQL workloads? Yes.

Larry Freeman recently blogged on How Enterprise Data Storage Improves Database Availability.  He talked about the most demanding Enterprise application software suite categories like Enterprise Resource Planning (ERP), Customer Relationship Manager (CRM), and Point of Sale (POS).  These database applications contain the lifeblood data of companies and if these applications go down, under-perform, or become corrupt, bad things happen.  Imagine, for example, if Walmart’s POS system were to go down during the holiday season.  Thousands of customers would be unable to buy their presents and the revenue loss could quickly rise to the millions. Larry goes on to say that these database applications could suffer from three potential problems:


  1. Inconsistent application performance
  2. Lack of application availability
  3. Application data corruption


This made me think about a recent project we did to examine how a Microsoft SQL database deployed over SMB3 protocol performs compared with traditional block protocols like iSCSI and FC (Fibre Channel).  The results showed that customers with demanding OLTP database workloads may obtain good performance whether they use iSCSI, FC, or SMB3 as the storage protocol.  Here’s a sneak peek from the report of a graph of transaction peak throughput.  This was normalized to a 100 scale with FC as the baseline. As you would expect FC had the highest throughput.  But SMB3 came in second and iSCSI was close too.




So what’s the big deal?  Well, if you were using Windows computers in the 1990s and early 2000s, you probably used CIFS.  It was a file sharing protocol developed by Microsoft to share files amongst workstations on a LAN.  It was well known to be slow, chatty, and one would never dream of running a Microsoft SQL database over this protocol.  Fast forward to today and CIFS is now SMB3 and it is refined, fast, and reliable.  You can run your virtualized Hyper-V workload or your SQL databases over SMB3.  And with Clustered Data ONTAP, you can place your FC and iSCSI SAN workloads on the same unified storage controllers.


After the report, we did some additional testing to make sure that SQL over SMB3 can survive failure scenarios and yet remain available and intact.  Features like storage failover and NetApp DataMotion™ (volume migration to another node) provide continuous availability and enable non-disruptive operations (NDO).  These features solve for problem numbers 2 and 3.


We tested with the same heavy OLTP workload from the technical report and then performed a storage failover which prompted all of the SQL workload to be served from one controller instead of two.  As expected, there was no interruption to the database and no data corruption.  As you can see in this graph there was a dramatic increase in SMB 3 ops/sec (left y-axis) during storage failover as all operations were served through a single controller.   Even with this increase, the SQL transactions/sec remained steady at the same level (right y-axis).




So what does this mean for you from a performance perspective?  Microsoft has focused on enhancing the SMB3 protocol to enable simple yet powerful enterprise application deployment.  As an award-winning Microsoft partner, NetApp has matched this development to provide a robust and high performance SMB3 solution for enterprise applications.  We just wanted to give you one more capable option along with iSCSI, FC, and FCOE when deploying your Enterprise databases.  Until next time, keep your performance in perspective.


Add comment