Commentary

George Crump
 

Understanding Storage Controller Performance

Storage controllers are the engine that drives the storage system you own. They are essentially a compute engine for storage arrays. Understanding storage controller performance and what can impact storage controllers is an important step in the optimization of your storage environment. It is also something that many storage managers assume is good enough.

Storage controllers are the engine that drives the storage system you own. They are essentially a compute engine for storage arrays. Understanding storage controller performance and what can impact storage controllers is an important step in the optimization of your storage environment. It is also something that many storage managers assume is good enough.Storage controller's performance can be impacted by a host of circumstances. Today's storage systems are asked to do so much more than the first external SCSI arrays. First, they manage significantly more capacity and drive quantity. Capabilities like snapshots, replication and the RAID calculation all impact the storage controller. Further new features like thin provisioning are just adding to the problem. This is why so many storage systems hit maximum performance at about 1/2 the drive population than the brochure states.

Second, storage systems are no longer responsible for servicing the requests of a single server. In shared environments the storage controllers can be responding to dozens if not hundreds of attached servers and workstations. To compound the issue, many environments, thanks to server virtualization, will have multiple server instances making multiple storage I/O requests from a single host. This leads to extremely random and unpredictable workloads in the environment which can saturate controllers.


More Storage Insights

White Papers

More >>

Reports

More >>

Webcasts

More >>

Today's storage controllers are responding to requests from more performance hungry servers that are attached to them. In web applications for example the storage may be responding to thousands of simultaneous users all accessing the same database or randomly each accessing different photos. Again, in virtualized server environments, these demands can come from 1,000 VMs spread out across a few hundred physical systems.

The classic dual controller architecture itself is misleading. In many cases both controllers are not equally handling the storage I/O for a given RAID volume. Usually one is assigned as the primary and the other as the secondary. The secondary is only used if the primary fails. The result is a single controller, handling all the above highly random conditions, can more realistically get saturated.

The classic response has been to overbuy storage compute muscle. The problem with this is that we all know that today's processors will be replaced by tomorrow's for less money. When you overbuy processing you are paying extra for compute muscle that you may not need until next year or later.

This has lead to some of the major manufacturers following the lead of a few storage innovators to start delivering clustered storage systems. Although how these clusters are assembled and the services they offer vary, they address the storage controller performance bottleneck that we detail in our article "What's Causing the Storage I/O Bottleneck?".

These systems allow continuous scale of capacity, I/O bandwidth as well as storage compute performance. Not every data center is going to encounter storage controller performance issues, and for those data centers standard systems are more than acceptable, but if your data center can cause any of the above conditions then storage controllers are something you need to pay attention to.

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

Subscribe to our RSS feed.

George Crump is lead analyst of Storage Switzerland, an IT analyst firm focused on the storage and virtualization segments. Find Storage Switzerland's disclosure statement here.


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