
IBM FlashSystem A9000 and A9000R – Single-Threaded SQL Backup Best Practices A technical report Itay Raviv IBM Systems Performance Group January 2018 © Copyright IBM Corporation, 2018 Table of Contents Abstract .................................................................................................................................. 1 Scope ................................................................................................................................................. 1 Prerequisites and Target Audience ................................................................................................... 1 The SQL Backup Job ............................................................................................................ 2 Single Thread vs. Multi-Thread Performance ..................................................................... 2 Plan for Better Performance ................................................................................................ 2 Database Host – HBA Intro ............................................................................................................... 3 Database Host – HBA Qdepth Configuration .................................................................................... 3 Changing Qlogic HBA Qdepth in Linux ................................................................................... 3 Changing Qlogic HBA Qdepth in Windows Server .................................................................. 4 Changing Emulex HBA Qdepth in Linux .................................................................................. 4 Changing Emulex HBA Qdepth in Windows Server ................................................................ 5 Qdepth Effect on an SQL Database .................................................................................................. 5 Database Host – SQL Server Configuration ...................................................................................... 6 Best Practice Example .......................................................................................................... 8 SQL Backup – Intro ............................................................................................................................ 8 SQL Backup Environment ................................................................................................................. 8 SQL Server Default Values Configuration ......................................................................................... 9 SQL Server Modified Values Configuration ..................................................................................... 10 Acknowledgement .............................................................................................................. 13 About the Author ................................................................................................................. 13 Appendix A: Online Resources ......................................................................................... 14 Trademarks and Special Notices ....................................................................................... 15 IBM FlashSystem A9000 and A9000R – Single Threaded SQL Backup – Best Practices 2 Abstract This white paper demonstrates how the bandwidth rate and overall performance of a single threaded application or backup job can be enhanced when used with the IBM FlashSystem A9000 and A9000R storage systems. IBM FlashSystem A9000 and A9000R provide embedded real-time compression that significantly and efficiently decreases the consumption of physical storage capacity. Real-time compression can be applied to file systems and databases that occasionally use single-threaded processes, mainly for backup jobs. This applies to databases such as Oracle, SQL, and more. The target audience for this paper are technical leads, system administrators, and database and storage administrators planning to implement IBM FlashSystem A9000 or A9000R within database and backup environments. Scope This technical report discusses the enhanced data reduction features of IBM FlashSystem A9000 and A9000R, as well as their configuration with SQL backup. This technical report does not discuss the configuration aspects of the IBM XIV storage system, and does not replace any official documentation provided by Microsoft for deploying SQL databases. The screen captures and graphs in this paper show the bandwidth rate and some performance data captured in the lab setup. The output might differ in other environments depending on data, workload type, and resources available. Prerequisites and Target Audience This paper assumes that an SQL database host is available with the SQL database software and the latest patch set software is installed. For planning SQL installation, refer to the SQL documentation website at: https://docs.microsoft.com/en-us/sql/sql-server/install/planning-a-sql-server-installation. For the database software installation guide, refer to https://docs.microsoft.com/en-us/sql/database- engine/install-windows/install-sql-server. The prerequisite technological skills for this paper’s target audience are: Familiarity with Linux and Windows operating systems Familiarity with SQL database installation and administration Familiarity with storage terminology IBM FlashSystem A9000 and A9000R – Single Threaded SQL Backup – Best Practices 1 The SQL Backup Job Many enterprises today are using SQL databases that have SQL backup jobs in a specific timeslot for the backup job to start and finish. The challenge is to address this timeslot. In addition, in some cases, there is a need to speed up the process because the primary stored data is growing rapidly, and more data requires backup. Another case is when the backup job timeslot is narrowed. Although a simple backup job might be considered as a simple process, the rate of the backup job is influenced by many parameters and configurations in the production environment. This includes host resources and OS configurations, FC infrastructure, such as FC cables and switches, and the target storage system with its own configuration. Single Thread vs. Multi-Thread Performance In a nutshell, a thread is the smallest subset of a process that could be independently handled by the OS. It is the smallest piece of code that could be executed independently from the rest of the code. Single-threaded: Threads can only run sequentially, so only one piece of the code can be executed at a time. Thread #1 Thread #2 Thread #3 Thread #4 Figure 1: Single Threaded process example Multi-threaded: Threads can run in parallel, so multiple pieces of code can be executed simultaneously. Thread #1 Thread #2 Thread #3 Thread #4 Figure 2: Multi-Threaded process example Accordingly, multi-threaded processes can split up the work, allowing the computer to process several tasks asynchronously. This allows the computer to run at maximum efficiency by utilizing all the processing time available, rather than locking up when a process is waiting for a resource. Plan for Better Performance Among its many advantages, such as ease of management, reliability and stability, IBM FlashSystem A9000 and A9000R are aimed to deliver the highest flash-storage performance in the market. To harness the IBM FlashSystem A9000 or A9000R performance capabilities and its highly parallel architecture based on grid architecture, you should preferably plan the other environment components IBM FlashSystem A9000 and A9000R – Single Threaded SQL Backup – Best Practices 2 to work in a parallel method starting with the host that generates the I/Os (multiple threads; input/output operations), along with multiple physical links (FC links, number of paths, and so on) and multiple volumes/LUNs on the storage side. This would increase the overall environment’s parallel work capabilities and result in a higher performance. When it is not possible to use multi-threaded applications (for instance, with the SQL backup job process), it is still possible to configure some environment variables for maximizing the bandwidth rate from the database host side. The next few sections discuss the default configuration and the required changes for increasing the bandwidth rate of an SQL backup job. Database Host – HBA Intro The host HBA (Host Bus Adapter) hardware component is used to connect the host to the SAN environment through Fiber Channel connections. In today’s market, Qlogic and Emulex HBAs are in wide use. Each HBA provides 1 to 4 FC ports (mostly 2 ports), usually in bandwidth speeds of 4 GB/s, 8 GB/s or 16 GB/s. Roughly, you can assume that each 8 GB/s port can provide approximately ~750 MB/s to ~800 MB/s. Multiplying this value by the total number of connected ports on your host, results in what is referred to as “wire speed”, or, in other words, the maximum bandwidth that the host can produce. Database Host – HBA Qdepth Configuration The HBA Queue depth (Qdepth) setting is used to throttle the maximum amount of I/O operations that can flow simultaneously to the SAN from the HBA port. Modifying the Qdepth setting depends on the brand and model of your HBA. Provided that the 2 common HABs are Qlogic and Emulex, the following sections provide an example of how to change the parameter in Linux and Windows. Changing Qlogic HBA Qdepth in Linux For SuSE and Red Hat the “Max Queue Depth” parameter is set in the modprobe.conf file. Options include: ql2xxx ql2xmaxqdepth=X The ql2xmaxqdepth parameter defines the maximum queue depth reported to SCSI mid-level
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages18 Page
-
File Size-