Performance Baseline for Deploying Microsoft SQL Server 2012 OLTP Database Applications Using EqualLogic PS Series Hybrid Storage Arrays A Dell EqualLogic Best Practices Technical White Paper Supplemental Test Report Dell Storage Engineering April 2014 Foundation white paper: Best Practices and Sizing Guidelines for Transaction Processing Applications with Microsoft SQL Server 2012 using EqualLogic PS Series Storage http://en.community.dell.com/dell-groups/dtcmedia/m/mediagallery/20321740.aspx
Revisions Date April 2014 Description Initial release THIS WHITE PAPER IS FOR INFORMATIONAL PURPOSES ONLY, AND MAY CONTAIN TYPOGRAPHICAL ERRORS AND TECHNICAL INACCURACIES. THE CONTENT IS PROVIDED AS IS, WITHOUT EXPRESS OR IMPLIED WARRANTIES OF ANY KIND. 2014 Dell Inc. All rights reserved. Reproduction of this material in any manner whatsoever without the express written permission of Dell Inc. is strictly forbidden. For more information, contact Dell. PRODUCT WARRANTIES APPLICABLE TO THE DELL PRODUCTS DESCRIBED IN THIS DOCUMENT MAY BE FOUND AT: http://www.dell.com/learn/us/en/19/terms-of-sale-commercial-and-public-sector Performance of network reference architectures discussed in this document may vary with differing deployment conditions, network loads, and the like. Third party products may be included in reference architectures for the convenience of the reader. Inclusion of such third party products does not necessarily constitute Dell s recommendation of those products. Please consult your Dell representative for additional information. Trademarks used in this text: Dell, the Dell logo, Dell Boomi, Dell Precision,OptiPlex, Latitude, PowerEdge, PowerVault, PowerConnect, OpenManage, EqualLogic, Compellent, KACE, FlexAddress, Force10 and Vostro are trademarks of Dell Inc. Other Dell trademarks may be used in this document. Cisco Nexus, Cisco MDS, Cisco NX- 0S, and other Cisco Catalyst are registered trademarks of Cisco System Inc. EMC VNX, and EMC Unisphere are registered trademarks of EMC Corporation. Intel, Pentium, Xeon, Core and Celeron are registered trademarks of Intel Corporation in the U.S. and other countries. AMD is a registered trademark and AMD Opteron, AMD Phenom and AMD Sempron are trademarks of Advanced Micro Devices, Inc. Microsoft, Windows, Windows Server, Internet Explorer, MS-DOS, Windows Vista and Active Directory are either trademarks or registered trademarks of Microsoft Corporation in the United States and/or other countries. Red Hat and Red Hat Enterprise Linux are registered trademarks of Red Hat, Inc. in the United States and/or other countries. Novell and SUSE are registered trademarks of Novell Inc. in the United States and other countries. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Citrix, Xen, XenServer and XenMotion are either registered trademarks or trademarks of Citrix Systems, Inc. in the United States and/or other countries. VMware, Virtual SMP, vmotion, vcenter and vsphere are registered trademarks or trademarks of VMware, Inc. in the United States or other countries. IBM is a registered trademark of International Business Machines Corporation. Broadcom and NetXtreme are registered trademarks of Broadcom Corporation. Qlogic is a registered trademark of QLogic Corporation. Other trademarks and trade names may be used in this document to refer to either the entities claiming the marks and/or names or their products and are the property of their respective owners. Dell disclaims proprietary interest in the marks and names of others. 2 BP1032 - Supplemental Performance Baseline for Deploying Microsoft SQL Server 2012 OLTP Database Applications
Table of contents Revisions... 2 Acknowledgements... 4 Feedback... 4 Executive summary... 5 1 Introduction... 6 1.1 Objective... 6 1.1.1 Audience... 6 2 Test solution infrastructure... 7 2.1 Physical system configuration... 7 2.2 Storage configuration... 7 3 SQL Server 2012 OLTP I/O performance study... 9 3.1 I/O profiling study with IOMeter... 9 3.1.1 Test criteria... 9 3.1.2 IOMeter test configuration... 9 3.1.3 IOMeter test results... 10 3.2 SQL Server 2012 OLTP TPC-E... 11 3.2.1 Test criteria... 11 3.2.2 TPC-E test configuration... 11 3.2.3 TPC-E test results... 12 4 Conclusion... 14 A Solution components... 15 Additional resources... 17 3 BP1032 - Supplemental Performance Baseline for Deploying Microsoft SQL Server 2012 OLTP Database Applications
Acknowledgements Feedback This best practice white paper was produced by the following members of the Dell Storage team: Engineering: Chidambara Shashikiran Technical Marketing: Omar Rawashdeh Editing: Margaret Boeneke We encourage readers of this publication to provide feedback on the quality and usefulness of this information by sending an email to SISfeedback@Dell.com. SISfeedback@Dell.com 4 BP1032 - Supplemental Performance Baseline for Deploying Microsoft SQL Server 2012 OLTP Database Applications
Executive summary Microsoft SQL Server database applications, ranging from web-based e-commerce sites to accounting systems to customer support programs, are at the heart of business functions. The data generated by these database applications can grow exponentially over time. Thus, designing a solution which can accommodate strict performance requirements and future capacity growth of databases are the key challenges faced by customers. Unique characteristics of Online transaction processing (OLTP) workload are a higher percentage of read I/O than write I/O and a high percentage of total I/O being concentrated on a relatively small percentage of the total data set. Dell EqualLogic PS Series hybrid storage arrays that combine solid state drives (SSDs) and hard disk drives (HDDs) within the same chassis with automated, dynamic data tiering are well suited for these OLTP applications. EqualLogic PS Series firmware automatically moves more frequently accessed data to high-performing SSDs and less frequently accessed data to HDDs, thereby helping optimize the balance between performance and capacity needs of a demanding SQL OLTP environment. The following white paper includes the results of additional storage I/O performance tests executed using EqualLogic PS series hybrid arrays and illustrates how the unique automated tiering capability of PS6110XS arrays can help in addressing the above unique challenges of an OLTP database application. The results and test cases from this white paper should be used in conjunction with the following foundation white paper that provides detailed guidelines and best practices to deploy SQL server OLTP databases on EqualLogic PS6100XV arrays: Best Practices and Sizing Guidelines for Transaction Processing Applications with Microsoft SQL 2012 using EqualLogic PS Series Storage. 5 BP1032 - Supplemental Performance Baseline for Deploying Microsoft SQL Server 2012 OLTP Database Applications
1 Introduction OLTP applications often need to deliver extremely fast response times and rapid access to data that are in high demand. Moreover, significant data growth over time in a typical OLTP system leads to high capacity requirements as well. While the OLTP data set size can grow exponentially over time, the active, frequently-accessed data set size remains relatively small in comparison with the overall OLTP system size. EqualLogic PS6110XS hybrid arrays have 24 drives seven high performance SSD drives and seventeen high capacity 10K rpm SAS hard disk drives within a single chassis. The scale-out, peer storage architecture of the EqualLogic PS series allows organizations to start small and grow non-disruptively as the performance and capacity needs increase. 1.1 Objective The objective of this paper is to present the results of additional I/O performance tests using EqualLogic PS6110XS hybrid arrays to illustrate how these storage arrays can handle the unique challenges of OLTP database applications. 1.1.1 Audience This paper is intended for system administrators, database administrators and storage architects interested in deploying Microsoft SQL Server 2012 virtualized database solutions using Dell EqualLogic PS Series hybrid SANs. It is assumed that the readers of this document have familiarity with Microsoft SQL Server 2012 system administration, EqualLogic storage array configuration and VMware ESXi administration tasks. Before using this document, review the detailed guidelines and best practices documented in the foundation white paper: Best Practices and Sizing Guidelines for Transaction Processing Applications with Microsoft SQL 2012 using EqualLogic PS Series Storage. 6 BP1032 - Supplemental Performance Baseline for Deploying Microsoft SQL Server 2012 OLTP Database Applications
2 Test solution infrastructure Section 2.1 illustrates the logical test configuration used to evaluate the solution, and Section 2.2 describes the volume layout configuration on an EqualLogic SAN. 2.1 Physical system configuration The logical test configuration diagram shown below was used for validating the SQL Server 2012 OLTP on PS6110XS solution. Figure 1 SQL Server 2012 on PS6110XS test configuration, including LAN and iscsi SAN connectivity 2.2 Storage configuration The EqualLogic PS6110XS hybrid array hosted the volumes used to simulate OLTP I/O using IOMeter and the database volumes for deploying the SQL Server 2012 TPC-E database. EqualLogic PS6110XS hybrid array: - 7x 400GB SSDs and 17x 600GB 10K SAS drives with two hot spares - 10GbE controller running firmware version 7.0.1 7 BP1032 - Supplemental Performance Baseline for Deploying Microsoft SQL Server 2012 OLTP Database Applications
- RAID configuration: RAID 6 Accelerated (Only supported RAID policy on EqualLogic hybrid arrays) The EqualLogic PS6110XS arrays offer excellent performance and also huge usable capacity due to the unique combination of SSD and 10K SAS drives within the same chassis. The PS6110XS storage array performance for OLTP environment also depends on various factors such as the total capacity utilized on the array, frequency of data access and also locality of data reference. The PS6110XS arrays offer a total usable capacity of around 9.1TB distributed across seven 400 GB capacity SSD drives and 17 600GB 10K SAS drives. The useable capacity offered by the SSDs itself is almost around 1.8TB. The array will try to keep as much frequently accessed data on SSDs to provide the best performance. If the entire database does not fit on SSDs, then the data is spread across both SSDs and 10K SAS drives. Even when the data is spread across both SSDs and SAS drives, the PS6110XS arrays automatically monitor the frequently accessed data continuously and move the frequently accessed data to SSDs to achieve better performance. If all of the data is located within the SSDs (which means the capacity utilization is under 1.8TB), then obviously the storage array performance will be better. To ensure that the dataset used to validate the solution was realistic for a customer environment, more than 30% of the total array capacity was utilized. This ensured that the data was spread across both SSD and SAS drives. Eight volumes each of 150GB capacity were used to simulate OLTP I/O using IOMeter The SQL Server 2012 database was also deployed using eight 150GB capacity volumes 12 more volumes were created on the array with 150 GB capacity and were fully populated to increase the capacity utilization to around 3TB 8 BP1032 - Supplemental Performance Baseline for Deploying Microsoft SQL Server 2012 OLTP Database Applications
3 SQL Server 2012 OLTP I/O performance study In financial organizations like banks and brokerage firms, typical OLTP database transactions are represented by I/O with 8K block size and a mix of 90% Read and 10% writes. A series of I/O profiling tests were run using IOMeter to get baseline performance of the PS6110XS storage array while simulating OLTP database I/O operations. Refer to Section 3.1 below for more details about the test configuration and results using the IOMeter tool. Once the baseline performance was determined, a SQL Server 2012 database was installed and populated with TPC-E database schema using Quest Benchmark Factory tool. Real-word database transactions were run on the TPC-E database. For more details about the test configuration and results, refer to Section 3.2. 3.1 I/O profiling study with IOMeter The IOMeter tool simulated SQL Server OLTP database transactions (I/O mix of 90% Read and 10% Write) without deploying any SQL Server databases. 3.1.1 Test criteria The test criteria used for the study was: The storage array disk access latencies (read and write) remained below 20 ms TCP retransmits on the storage network remained below 0.5% 3.1.2 IOMeter test configuration The test used 8K I/O block size and specific queue depths (number of outstanding I/Os) to determine the maximum IOPS the storage array would sustain within the 20 ms latency with read and write latencies measured separately. The configuration parameters for the tests are shown in the table below. Table 1 Test parameters: I/O workload studies Configuration parameters EqualLogic SAN 1x PS6110XS (7x 400GB SSDs and 17x 600GB 10K SAS drives) RAID type I/O mix I/O tool Storage configuration RAID 6 (Accelerated) 8K 90% Read/10% Write IOMeter (8 Workers mapping to 8 Volumes) 8x 150GB Volumes 12x 150GB Volumes (Additional capacity ensures that data is spread across both SSDs and 10K SAS drives) Queue Depth: 8 The results collected from the tests are illustrated in the following section. 9 BP1032 - Supplemental Performance Baseline for Deploying Microsoft SQL Server 2012 OLTP Database Applications
3.1.3 IOMeter test results The I/O access was completely random in nature. The total array capacity utilization was around 3TB so that the data was spread across both SSDs and 10K SAS drives. Huge amounts of simultaneous I/O requests were simulated on the storage array by setting the queue depth to eight workers which in turn mapped to eight individual volumes on the storage array. The queue depth was initially set to two per worker and then gradually increased to eight so that heavy concurrent database transactions were executed, which generated a huge I/O load on the EqualLogic array. The queue depth was not increased beyond eight, because the read latency on the EqualLogic array increased beyond 20ms. The test result showed 7,750 IOPS at the beginning and then gradually increased to around 16,000 IOPS over eight hours duration. Figure 2 IOMeter OLTP I/O Simulation on PS6110XS As seen in the chart above, the IOPS almost doubled in a span of eight hours while running the IOMeter OLTP I/O workload because of automatic tiering technology built-in to the PS6110XS arrays. The maximum IOPS for the same I/O workload on the non-hybrid EqualLogic array PS61XX was around 6,000 IOPS compared to 16,000 IOPS for the PS6110XS. The test results clearly illustrate the benefits of the internal tiering feature offered by EqualLogic PS6110XS arrays which significantly improved the performance by more than 2.5 times compared to PS61XX series arrays. 10 BP1032 - Supplemental Performance Baseline for Deploying Microsoft SQL Server 2012 OLTP Database Applications
3.2 SQL Server 2012 OLTP TPC-E This section contains details about the database performance characterization tests run using Quest Benchmark Factory (QBF) tool. The TPC-E like database was created and populated using Quest Benchmark Factory to simulate real-word SQL Server OLTP database I/O transactions. 3.2.1 Test criteria The test criteria used for the study was: The storage array disk access latencies (read and write) remained below 20 ms to ensure that database application user experience was not degraded Database server CPU utilization remained below an 80% average to ensure the SQL Server database had sufficient resources for database processing TCP retransmits on the storage network remained below 0.5% 3.2.2 TPC-E test configuration The TPC-E database was created using a scaling factor of 40 using Quest Benchmark Factory. SQL Server 2012 supports a performance optimization mechanism called read-ahead. Read-ahead identifies the data and index pages needed to perform a query in advance and tries to bring all those pages into the buffer cache before they are actually needed. This results in a significant reduction in I/O to backend SAN and also lowers application response time. TPC-E is more read intensive with a 9.7:1 I/O read to write ratio, while TPC-C typically represents a 1.9:1 read to write ratio. More detailed information about TPC-E characteristics is available at: http://www.cs.cmu.edu/~chensm/papers/tpce-sigmod-record10.pdf. Storage arrays usually perform well with read I/O. Also, the memory on the server helps by caching most of the read I/O, which helps to improve overall read performance. A more realistic test for any storage is when more write I/O transactions are introduced. The write transactions for the TPC-E workload were increased by modifying the weights of the TPC-E database schema. The following chart shows the write intensive transaction mix used to run this test compared to the default transaction mix of Quest Benchmark Factory. 11 BP1032 - Supplemental Performance Baseline for Deploying Microsoft SQL Server 2012 OLTP Database Applications
Figure 3 Modified transaction mix to push more write I/O transactions Quest Benchmark Factory The buffer cache size plays an important role in SQL Server database performance and the amount of I/O pushed to the backend storage array. The SQL Server buffer cache size was set to 12 GB in this test to force more Read I/O operations to the backend storage array. For more details on buffer cache recommendations and its effect on database performance, refer to the following document: http://en.community.dell.com/dellgroups/dtcmedia/m/mediagallery/20308518/download.aspx. The configuration parameters for the tests are shown in the table below. Table 2 Test parameters: TPC-E workload studies Configuration parameters EqualLogic SAN RAID type I/O mix I/O tool 1x PS6110XS (7x 400GB SSDs and 17x 600GB 10K SAS drives) RAID 6 (Accelerated) 8K 90% Read/10% Write Quest Benchmark Factory (TPC-E Workload) Storage configuration 8x 150GB Volumes (SQL Server 2012 database) 12x 150GB Volumes (Additional capacity to ensure that data is spread across both SSDs and 10K SAS drives) Scaling factor: 40 3.2.3 TPC-E test results The database size was around 900 GB but 12 more additional volumes were created and populated with real-world customer data so that the total array capacity utilization was around 3 TB. This ensured that the data was spread across both SSDs and 10K SAS drives. The TPC-E database transactions were simulated using multiple agents from different machines to simulate the real-world customer environment. 12 BP1032 - Supplemental Performance Baseline for Deploying Microsoft SQL Server 2012 OLTP Database Applications
In our SQL Server TPC-E database environment, the following configuration settings were used to ensure that an I/O mix of 90% Read/10% Write was exercised on the backend storage array so that the results are comparable to IOMeter tests. TPC-E transactions were simulated using a modified transaction mix as illustrated in Figure 3 to determine the performance from a PS6110XS array when exposed to heavy write intensive I/O workload, which is a worst-case scenario. No SQL queries were modified in this process. Also the buffer cache size for the SQL server database was set to 12GB to push more I/Os to the backend storage. Figure 4 SQl server 2012 TPC-E on PS6110XS The test results showed 6,630 IOPS at the beginning and then gradually increased to around 12,000 over eight hours duration. In typical OLTP database applications, most of the active data set is usually contained within a small locality on disks. In these scenarios, the internal tiering feature of PS6110XS will identify the frequently accessed data and move the hot pages automatically to SSD drives. This creates a significant improvement in performance. The test results in this section clearly illustrate this fact when the IOPS increased from 7,000 to 12,000 within eight hours automatically due to the internal tiering mechanism offered by PS6110XS arrays. 13 BP1032 - Supplemental Performance Baseline for Deploying Microsoft SQL Server 2012 OLTP Database Applications
4 Conclusion This white paper is a supplemental document which showcases the benefits of PS6110XS arrays compared to PS61100 arrays. The test results in this white paper clearly illustrate the benefits of automatic tiering of data offered by PS6110XS arrays which significantly improved the performance of SQL Server OLTP database applications. The PS6110XS internal tiering mechanism monitors the I/O activity continuously and identifies these frequently accessed objects as hot pages. The identified hot pages are automatically moved to the SSD tier which results in significant performance improvements in terms of increased IOPS and reduced read/write latencies. The test results in Sections 3.1.3 and 3.2.3 clearly demonstrate the benefits of the PS6110XS hybrid array s built-in intelligence to automatically move the data between SSD and SAS tiers to enhance performance of the OLTP I/O workload. The benefits of automatic tiering depend entirely on the amount of data being accessed frequently and also the locality of reference. The key findings from this whitepaper are: Typically database applications tend to have specific areas on the disks which are accessed more frequently than other data objects. This is clearly demonstrated in Section 3.2.3 where the TPC-E database performance increased almost 100% over eight hours. The test results also show that PS6110XS hybrid arrays provide significant improvement in performance compared to the PS6100 family of arrays. The maximum IOPS for an OLTP type I/O workload on a PS6110XS array was around 16,000 which is a more than 2.5 times increase in performance compared to PS61XX series arrays. It must be ensured that the entire ecosystem, including server resources and network switches, is sized and configured appropriately to meet the workload performance requirements. Optimal database performance can be achieved when the applicable best practices laid out in the white paper listed below are used. Refer to the whitepaper Best Practices and Sizing Guidelines for Transaction Processing Applications with Microsoft SQL 2012 using EqualLogic PS Series Storage for details on SQL Server 2012 deployments using the PS6100 family of arrays. 14 BP1032 - Supplemental Performance Baseline for Deploying Microsoft SQL Server 2012 OLTP Database Applications
A Solution components This section contains an overview of the configurations used throughout the testing described in this document. Table 3 Test configuration hardware components Solution configuration - Hardware components: Description SQL Server 2012 and VM for running IOMeter LoadGen Server (Quest Benchmark Factory - TPC-E Database execution) BIOS Version: 1.2.6 4x 8 Core Intel Xeon E5-4620 Processors 2.19 GHz 128 GB RAM, 4x 146GB 15K SAS internal disk drives Broadcom 5720 1GbE quad-port NIC (LAN on motherboard), firmware version 7.2.14 2 Intel Quad Port VT network adapters (Intel 1350 1Gb) Firmware level 1.5-6 BIOS Version: 1.2.6 4 x 8 Core Intel Xeon E5-4620 Processors 2.19 GHz 128 GB RAM, 4 x 146GB 15K SAS internal disk drives Broadcom 5720 1GbE quad-port NIC (LAN on motherboard), firmware version 7.2.14 2 Intel Quad Port VT network adapters (Intel 1350 1Gb) Firmware level 1.5-6 1 PowerEdge R820 server running VMware ESXi v5, hosting a SQL Server database virtual machine. This server also hosted a VM for running IOMeter workload. 1 PowerEdge R820 server running VMware ESXi v5, hosting 4 virtual machines. 1 virtual machine hosted the console for running Quest Benchmark Factory and other 3 for running agents. Infra server BIOS Version: 6.1.0 Quad Core Intel Xeon X5570 Processor 2.26 GHz 48 GB RAM, 2x 146GB 15K SAS internal disk drives Broadcom 5709c 1GbE quad-port NIC (LAN on motherboard) firmware version 6.4.5 1 Dell PowerEdge R710 Server running VMware ESXi v4.1, hosting VMs for hosting SAN- HQ and vcenter. Network Storage 2x Dell Force10 S4810 switches Firmware: 9.1.0.0 1x Dell EqualLogic PS6110XS: 7x 400GB SSDs and 17 x 600GB 10K SAS Firmware: 6.2.1 RAID 6 Accelerated 2 switches stacked together for iscsi SAN connectivity. Backend storage for SQL server 2012 database volumes. 15 BP1032 - Supplemental Performance Baseline for Deploying Microsoft SQL Server 2012 OLTP Database Applications
Table 4 Test configuration software components Test configuration Operating systems Applications Software components Host: VMware vsphere ESXi Server v5 Guest: Microsoft Windows Server 2008 R2 Enterprise Edition (virtual machine): MPIO enabled using EqualLogic DSM for Windows when using guest iscsi initiator EqualLogic Host Integration Toolkit(HIT) v4.0.0 installed SQL Server 2012 Enterprise Edition Monitoring Tools EqualLogic SAN Headquarters version 2.2 Windows Perfmon Simulation Tools Benchmark Factory for databases version 6.9.2 16 BP1032 - Supplemental Performance Baseline for Deploying Microsoft SQL Server 2012 OLTP Database Applications
Additional resources Support.dell.com is focused on meeting your needs with proven services and support. DellTechCenter.com is an IT Community where you can connect with Dell Customers and Dell employees for the purpose of sharing knowledge, best practices, and information about Dell products and your installations. Referenced or recommended Dell publications: Dell EqualLogic Configuration Guide: http://en.community.dell.com/dell-groups/dtcmedia/m/mediagallery/19852516/download.aspx Referenced or recommended SQL Server publications: SQL Server 2012 Best Practices with PS6110XS: http://en.community.dell.com/dell-groups/dtcmedia/m/mediagallery/20321740/download OLTP I/O Profile study with Microsoft SQL 2012 and EqualLogic storage : http://en.community.dell.com/dell-groups/dtcmedia/m/mediagallery/20308518/download.aspx PS Series Groups Deploying Microsoft SQL Server in an ISCSI SAN http://www.equallogic.com/uploadedfiles/resources/tech_reports/tr1013-sql-server.pdf For EqualLogic best practices white papers, reference architectures, and sizing guidelines for enterprise applications and SANs, refer to Storage Infrastructure and Solutions Team Publications at: http://dell.to/sm4hjt 17 BP1032 - Supplemental Performance Baseline for Deploying Microsoft SQL Server 2012 OLTP Database Applications