Faster SQL Server Access With Solid State Disks
Faster SQL Server Access With Solid State Disks
Disks
A white paper by Robbie Stevens, Senior Marketing Writer
Scan this QR code with your smartphone for more information on using RamSan SSDs to accelerate SQL Server
databases.
Download a QR scanner here: http://2dscan.com
RamSan and “The World’s Fastest Storage” are registered trademarks of Texas Memory Systems, Inc.
© 2011 Texas Memory Systems, Inc..All rights reserved. Reproduction in any manner whatsoever without the
express written permission of Texas Memory Systems is strictly forbidden. Texas Memory Systems cannot be
responsible for errors in typography or photography.
Information in this document is subject to change without notice.
Table of Contents
Executive Summary ...................................................................................................... 4
Perspectives from Industry .......................................................................................... 5
The Problem of I/O Wait Time ..................................................................................... 6
Traditional Approaches to Improving SQL Server Performance .................................. 7
Introduction to Solid State Disks .................................................................................. 8
Flash Solid State Disks ............................................................................... 8
RAM Solid State Disks ............................................................................... 9
Identifying I/O Subsystem Problems .......................................................................... 10
SQL Server Components That Should Be Moved to Solid State Disk ......................... 13
Entire Database....................................................................................... 13
Transaction Logs ..................................................................................... 13
Temporary Database (tempdb) .............................................................. 14
Indexes .................................................................................................... 14
Frequently Accessed Tables .................................................................... 15
Identifying the Most Frequently Accessed SQL Server Files and Tables .................... 16
Conclusion .................................................................................................................. 18
Table of Figures
Figure 1: Maximum I/Os per Second ............................................................................ 6
Figure 2: An Inside Look at the RamSan-710 Flash Solid State Disk............................. 8
Figure 3: An Inside Look at the RamSan-440 RAM Solid State Disk ............................. 9
Figure 4: Processor Performance when Writing to Hard Disk ................................... 11
Figure 5: Processor Performance when Writing to Solid state disk ........................... 11
Executive Summary
This whitepaper discusses methods for improving SQL Server database
performance.
It discusses methods for identifying I/O performance bottlenecks and points out
components that are the best candidates for migration to a solid state disk. The
paper also includes an in-depth explanation of solid state disk technology and
possible implementations.
For more in-depth information, visit www.ramsan.com or contact one of the
following:
Existing customers contact support@ramsan.com.
Potential customers contact sales@ramsan.com.
No matter how well you sized and tuned your NT Server disk subsystem, the
disk subsystem is still composed of physical devices that are slow when
compared to RAM. There may be times, regardless of how well you have
load balanced and tuned your disk subsystem, when "hot spots" still exist.
"Hot spots" are defined here as areas of the disk subsystem that
application(s) consistently request services from which greatly impact the
application's performance. Consider another technique to alleviate hot spot
situations; try implementing RAM disks.
From the Morgan Keegan System Area Network Conference, Solid State Caching,
page 85-86:
Since 1964 the capacity of disk drives has increased by over 6,000 times
while the average seek latency has only seen about a tenfold improvement.
The continued increase in capacity without corresponding improvement in
access times has caused a steady decline in the access density of disk media,
which is the ratio of I/Os per second divided by the capacity of the disk drive.
As a result, many storage administrators are finding that in spite of the fact
that they are adding storage capacity at an unprecedented pace, system
performance does not improve. In other words, their storage infrastructures
are I/O bound. One way to solve this dilemma is to spread the information
access workload across a large number of systems. In many situations,
however, a more efficient method of improving performance is the
implementation of a solid-state disk (SSD) caching solution. SSD offers the
fastest storage media available.
However, we believe SSD caching will see increasing adoption in the system
network as the optimal storage resource for certain data types requiring
high levels of availability. The return on investment of SSD increases
dramatically in a centralized storage configuration in which the cost may be
amortized across a larger infrastructure and SSD can be added incrementally
as needed…
1,000,000
600,000 600,000
400,000
RamSan-710 Architecture
metadata areas to Flash. With a Flash solution like the RamSan-710, 5 terabytes of
storage can fit into a 1U form factor.
2 Dual-ported FC or IB
Interfaces
1-5TB of SLC Management
Flash Boards Control
Processor
Redundant
Power
Supplies
Redundant
1U Chassis
Fans
Figure 5 shows the same system with the same access specifications in Iometer
running against a Texas Memory Systems RamSan solid state disk. In this example,
the processor averages 68% utilization. The Iometer shows that 138,000 writes per
second are going to the RamSan (138,000 IOPS). As it turns out, this IOPS number is
a limitation of the host bus adapter. Nonetheless, this example clearly illustrates
how a solid state disk can improve processor utilization for a Windows based
system.
Entire Database
There are some databases that should have all of their files moved to solid state
disk. These databases tend to have at least one of the following characteristics:
High concurrent access. You should consider moving all data to solid state disk
for databases that are hit by a large number of concurrent users. This ensures
that storage is not a bottleneck for the application and maximizes the utilization
of servers and networks. I/O wait time will be minimized and servers and
bandwidth will be fully utilized.
Frequent random accesses to all tables. For some databases, it is impossible to
identify a subset of files that are frequently accessed. Many times these
databases are effectively large indices.
Small to medium size databases. Given the fixed costs associated with buying
RAID systems, it is often economical to buy a solid state disk to store small to
medium sized databases. A RamSan-710, for example, can provide 5 TB of
database storage for the price of some enterprise RAID systems.
Large read-intensive databases. Given the fixed costs associated with
architecting a RAID system for performance (buying a large cache, buying a lot
of spindles for striping), it is economical and much faster to buy a RamSan-630
Flash solution to accelerate large read-intensive databases. A single RamSan-
630 can scale to 10 TB of capacity.
Database performance is key to company profitability. There is a subset of
databases that help companies make more money, lose less money, or improve
customer satisfaction if they process faster. Solid state disks can help make
these companies more profitable.
Transaction Logs
Transaction logs are one of the most important factors in the write performance for
SQL Server databases. Whenever a database write occurs, SQL Server creates a
transaction log entry. Each SQL Server database has at least one transaction log
(*.ldf). SQL Server considers operations committed once the write to the transaction
logs is complete.
Indexes
An index is a data structure that speeds up access to database records. An index is
usually created for each table in a database. SQL Server updates these indexes when
adding records and modifying records’ identifying data. When a read occurs, SQL
Server consults an index to access the correct record quickly. Furthermore, many
concurrent users may read any index simultaneously. This activity to the disk drive
creates frequent, small, and random transactions, which makes the disk drives
unable to keep up with demand and I/O wait time results.
Storing indexes on a solid state disk can increase the entire application’s
performance. For online transaction processing (OLTP) systems with a high number
of concurrent users, this results in faster database access. Historically, indexes have
By default, indexes are created on the same filegroup as the base table on
which the index is created. However, it is possible to create nonclustered
indexes on a filegroup other than the filegroup of the base table. By creating
the index on a different filegroup, you can realize performance gains if the
filegroups make use of different physical drives with their own controllers.
In this case, Texas Memory Systems recommends moving the filegroups that contain
the indexes to solid state disk.
From the above query, we are able to extract the counters for every database with
their respective file statistics. The results can then be presented into a more visual
form using Microsoft Excel with a PivotChart to group files into filegroups. Below is
an example of showing the number of I/O Stalls logged against each file’s size in a
TPC benchmark database.
10,000,000,000
1,000,000,000
100,000,000
10,000,000
1,000,000
100,000
10,000
1,000
100
10
1
Parts
Orders
PartSupp
tpc
Supplier
tpc_log
Indexes
Nation
Region
Customer
LineItem
tpc