Commentary

George Crump
 

How To Tune Apps For Solid State Storage

Just because you put a race car engine inside your storage system does not mean that your application will instantly go faster.

Part of the challenge with solid-state storage is to make sure that when you implement it that your application will actually perform faster. Just because you put a race car engine inside your storage system does not mean that your application will instantly go faster. Everything else in the environment needs to be tuned to take advantage of this new faster storage platform.

As we discuss in our webinar on "Understanding Solid State Performance," the way your application is structured or can be re-structured has a lot to do with how much bang you will get for your solid-state buck. A great place to look for tuning advice is the various storage performance benchmarks. While these benchmarks basically give vendors a chance to beat their chests about how fast their various systems are, you can learn from them to help understand if your environment can be tuned to take advantage of a faster storage tier like solid-state storage.


More Storage Insights

Webcasts

More >>

White Papers

More >>

Reports

More >>

For the purposes of this entry though, let's net out the results. You will see basically you need a lot of requests being made of storage from applications or users to maximize the capabilities of solid-state storage. You also need a high performance connection between the storage and the application, but that is a discussion for a future entry.

The number of storage I/O requests that can justify solid-state storage can come from a few large systems making a lot of requests simultaneously or a few requests each from hundreds of smaller systems, like user desktops. In most cases high storage I/O requesters tend to be a database application, but could be a file system where thousands of users are accessing the same file at the same time. It also can be an analytics type of application that needs to respond to a single user request and scan across million of rows in a database or even tens of millions of discrete files in a file system. Depending on your application, building a server or system to respond to that high number of requests may be the biggest challenge. There are two basic options--scale the application up or scale the application out.

Scale up means to have fewer, preferably one, powerful application server that can send requests to storage as fast as the storage can take it. Now, thanks to solid state the storage they can take those requests very fast. Scaling up an environment, assuming you can afford the upfront investment, may be less expensive and less complex in the long run. As we discussed in a recent article "Addressing Storage Challenges in Cost Effective Oracle Environments" a single server with 64 cores or more are now affordable to the enterprise and managing a single application server or even a few application servers is often easier than managing a cluster of application servers. There are fewer changes, if any that need to be made to the application and there are fewer decisions to be made on where to put what sections of code and sections of the data set since it is all on one entity. An issue with a scale up architecture is to make sure that there are enough storage I/O requests and that you can afford the upfront investment.

Scale out applications allow you to grow as your needs grow. Many application environments are not automatically scale out though. There has to be some manual dividing of the application and the database to spread the workload across multiple machines. This process, often called sharding, can create a complex environment, but for some very large environments or environments with extremely high user counts like online applications it may be the best option available. There are however a growing number of applications, especially in the analytics area, that are designed from the ground up to scale out so designing and maintaining a scale out infrastructure may become easier over time.

An important final thought on scaling applications to meet solid-state storage performance is that just because the storage can handle an extreme number of IOPS does not mean you need to wreck your environment reaching it. All you need to do is solve today's problem and maybe be in a position to handle tomorrow's. Tuning and maximizing performance is an endless loop, get off the loop as soon as you meet today's performance demand. The advantage of solid-state storage is that when the next storage performance challenge surfaces you can be confident that the storage can handle it, so that is one less area of the loop to look at.

Follow Storage Switzerland on Twitter

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


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.
Subscribe to RSS

Resource Links