Commentary

George Crump
 

Solving Storage Performance Problems

When an application is slowing down because of poor storage I/O performance, the first step most IT professionals will take to solve the problem is to increase the physical drive count on the RAID group assigned to that application. How do you know when this will work and what are the best ways to implement this?

When an application is slowing down because of poor storage I/O performance, the first step most IT professionals will take to solve the problem is to increase the physical drive count on the RAID group assigned to that application. How do you know when this will work and what are the best ways to implement this?Adding drive count only works if there are enough storage I/O requests coming from the application to keep each drive spindle busy; this is often measured as queue depth. Adding drives to address performance problems is no different then adding CPU's and multiple cores to increase processing performance. As long as your application has enough threads to keep the cores busy, performance increases. Without theses threads, multiple cores don't help all that much, that's why in the past it was common to hear a vendor say they would rather have fewer faster processors than many slower ones.

In storage we either need to scale up the response time of the drives or scale out the number of drives to handle more simultaneous responses. In the scale up model we have hit a wall (15k RPM drives) in how fast drives can respond and that is why Solid State Disk Technology is becoming popular. The scale out model, adding more drives, has become popular because there are plenty of applications that can provide the number of I/O requests to keep a fleet of drives busy.


More Storage Insights

White Papers

More >>

Reports

More >>

Webcasts

More >>

Any data center that has a server virtualization project going full steam is a candidate. With today's server processing power, a single virtualization host can house 20-30 virtual machines. Each of these will generate varying degrees of random I/O requests, extended to a 5 to 10 node cluster of virtual hosts and you can easily get to hundreds of virtual machines all demanding something from the host.

Whether it is a multi-threaded database application, server virtualization, or thousands of online users accessing the same files, the challenge, as we discuss in our article "What's Causing the I/O Bottleneck?" is that as these environments scale out, adding more drives eventually exhausts the performance capabilities of the storage controllers. That's why you see so many systems that max out performance at about 50% of the spindle count. At that point adding drives is a case of diminishing returns.

The solution for this problem is twofold. One option is to move to a solution that can scale well beyond the common two node or two head storage platform, often called Clustered Storage solutions. These systems, like those offered by 3PAR or Isilon Systems can add storage processing and bandwidth as capacity increases. Another option is moving to a separate Solid State Disk like those offered by Texas Memory Systems or Violin Memory that can essentially eliminate response time. Both options have their merits and should be explored to see what is the best fit for your data center.

Track us on Twitter: http://twitter.com/storageswiss.

Subscribe to our RSS feed.

George Crump is founder of Storage Switzerland, an analyst firm focused on the virtualization and storage marketplaces. It provides strategic consulting and analysis to storage users, suppliers, and integrators. An industry veteran of more than 25 years, Crump has held engineering and sales positions at various IT industry manufacturers and integrators. Prior to Storage Switzerland, he was CTO at one of the nation's largest integrators.


Related Reading




Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

InformationWeek encourages readers to engage in spirited, healthy debate, including taking us to task. However, InformationWeek moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing/SPAM. InformationWeek further reserves the right to disable the profile of any commenter participating in said activities.

Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.
T-Shirt Giveaway T-Shirt Giveaway: Each week we're selecting one great comment from our readers. The author of the comment will receive an InformaitonWeek Community t-shirt. So get posting!
Subscribe to RSS

Resource Links