 |
≫ |
|
|
 |
 |
ストレージの購入を検討する際、データ量と増加傾向、必要なパフォーマンスや予算などを踏まえて、最適な製品を選ぶ必要があります。しかし、カタログのスペックだけを見て決めてしまうと、後で思ったほど効果が上がらなかったという結果になりかねません。
重要なのは「見た目のスペックではなく、システム全体のパフォーマンスである」という原則を理解することです。そこで、カタログスペックの裏に潜む、意外に見落とされがちなストレージ選びの落とし穴について解説していきましょう。 |
|
 |
|
ストレージがボトルネックになる可能性 |
 |
 |
 |
ストレージハードウェアの性能は、アプリケーションがどれだけ快適に動くかを左右する重要な要因です。ここ最近のハードウェアの進歩は目ざましく、CPUはどんどん高速化していますが、その処理性能がそのままアプリケーションの快適な動作に結びつくかといえば、そうではありません。
高速道路を流れる車を例に説明しましょう。CPUが高速で6車線分の性能があったとしても、ストレージのデータを読み込んだり書き込んだりする過程では、車線の少ない箇所も通らなければなりません。ホストバスアダプターやストレージのI/Oバスを通る際は5車線、4車線になってしまいます。さらに機械的構造を持つHDD(ハードディスクドライブ)にデータ入出力を行う際、I/Oの負荷に偏りが生じボトルネックが発生することがあります。

 |
 |
 |
 |
| 高速道路の車線が一箇所でも少なくなっていると渋滞が起きるように、システムもデータの経路がどこかで細くなっていると、そこがボトルネックになってシステム全体の性能に影響します。これを解消するには、HDDの処理速度を上げる(例ではETC対応)もしくは、HDD(例では料金所)の数を増やすといったストレージのパフォーマンス向上が重要です。 |
|
 |
 |
 |
システム全体の性能を高めるにはストレージのパフォーマンス向上が欠かせませんが、実はHDDのアクセス時間がボトルネックになりがちなポイントであることはあまり知られていません。 |
 |
ストレージのアクセス時間の真実とは? |
 |
 |
 |
ストレージの性能を左右するHDDのアクセス時間の大部分は、実はディスクI/Oの待ち時間が占めているのです。

例えば、アクセス時間を10ミリ秒と仮定しましょう。その内訳はおおよそ以下の通りです。

回転数の速いHDD(15000rpmなど)を使用すれば高速な処理は可能ですが、それにも限界があり、またHDDのコストが高くなります。それ以上にI/Oの待ち時間を短縮することが重要なのです。
| ディスクI/Oの待ち時間の短縮には、先ほどボトルネックの解決策として紹介した料金所の数を増やす方法、つまり、ストレージのディスク本数を多くして、I/Oを分散させることが効果的です。 |

1HDDあたり毎秒100 I/O(100 IOPS)とした場合、HDD5台のLUNでの処理能力は、500 IOPSです。 これがHDD10台のLUNでは、処理能力は1000 IOPSとなります。ただし、この場合、未使用の領域が過剰になってしまうことが課題となっていました。 |
 |
実例からみる処理速度の向上 |
 |
 |
 |
それでは実際に、データベースのストレージ構成を例に処理速度を向上させるポイントを見ていくことにしましょう。
データベースの場合、ログ領域は記録するデータ量が少ないため容量は少なくて済みますが、アクセス頻度が高いので要求される性能は高くなります。このため、ディスク本数を増やすことが効果的です。
 |
 |
キャッシュ容量の大きさイコール高パフォーマンスではない? |
 |
 |
 |
ストレージのキャッシュメモリは、データアクセスの性能向上を目的としたストレージコントローラ上のメモリです。容量が大きければより多くのデータを保持でき、アクセスが速いと思われています。しかしキャッシュの性能は容量の大きさで決まるものではありません。
■キャッシュの使用効率に注目
例えば、容量が大きい場合、下記のようにデータを保存する領域(ここでは100KBごと)も大きくなるため、いろいろなデータが混在してしまいます。さらに、領域ごとに収録されるデータサイズ、量が異なることにより、空き容量が増えてしまいます。したがって、大容量のキャッシュであっても使用効率は低くなります。
| 従来型ストレージの場合 |
 |
一方、キャッシュ容量が少なくても、データを保存する領域が高密度で配置されていれば、使用効率は高くなります。
| EVAの場合 |
 |
|
 |
 |
 |
■データの探しやすさも重要
また、容量が大きい場合、いろいろなデータがあるため、探すのに時間がかかります。
| 従来型ストレージの場合 |
 |
一方、容量を抑え、高密度で配置されている場合は、必要なデータを探すのも簡単です。
| EVAの場合 |
 |
|
 |
 |
 |
■ポイントはアルゴリズム
つまり従来のキャッシュは、大きな部屋にサイズの異なるデータがばらばらに収納されており、部屋いっぱいのところもあれば、がらがらのところもある状態で、その中から必要な情報を探していたと言えます。このように、キャッシュ容量が大きくても、必ずしも高性能とはいえないのです。また、いくらキャッシュが大容量であっても、他の用途に利用されているケースがあります。この場合、データI/Oに利用できるキャッシュ容量が制限されますので注意が必要です。
一方HP StorageWorks EVAのキャッシュは、小さな部屋にサイズの均一なデータが収納されています。データが高密度に配置され、管理されているため、使用効率が高く、探す時間も短縮できます。EVAに搭載されているキャッシュは、他のストレージ製品に比べて大容量とは言えません。しかし、最小限の容量で効率的に処理できるように工夫が凝らされています。
さらに、キャッシュの性能はそのヒット率に左右されます。キャッシュ・ヒット率は、求めるデータがキャッシュ上に存在することにより、ディスクアクセスを省略できる確率です。HP StorageWorks EVAはキャッシュ・ヒット率や変化する入出力の負荷に基づいて、LUNに対するキャッシュを動的に有効にしたり無効にしたりするため、小さい容量でも高いキャッシュ・ヒット率を維持します。これがHP独自の特許アルゴリズムで、キャッシュ性能を最大限に引き出すポイントです。
| キャッシュのパフォーマンスを評価する場合は、キャッシュ容量だけでなく、キャッシュアルゴリズムが適切に設計されているかが大切です。キャッシュアルゴリズムが適切な場合、キャッシュの処理性能が大きく向上し、小容量であっても高いパフォーマンスを実現します。 |
|
 |
使用効率を計算してみると… |
 |
 |
 |
| 従来型ストレージの場合 |
管理者自身が物理ディスクにRAIDボリュームを設定する従来型のストレージでは、極端に利用率が異なる複数のストレージ領域が作成され、それがデータ量の急激な増加に伴い短期間で容量が足りなくなったりしていました。また、容量不足を心配して最初から余裕を持った容量を割り当てるケースが多く、実質的な使用率は40%程度とも言われています。
|
| EVAの場合 |
EVAでは、各LUNのデータが複数の物理ディスクに分散されるので、物理ディスクの使用率は均等化されます。そのため必要以上に空き容量を取ることがなく、結果的に従来型に比べて約2倍、最大80%の使用効率を実現します。これにより、ストレージの容量単価も大幅に圧縮することができます。
|
ここで従来型ストレージとEVAの使用効率と投資効果を計算して、比べてみましょう。

| このように、従来型のストレージではLUNごとに容量が固定されてしまうためムダが多く、使用効率で計算すると割高になってしまいます。しかし、EVAの仮想ストレージプールは、物理ディスクの使用効率を最大化するため、ストレージの容量単価を低減でき、長期的なハードウェアへの投資を抑えることができます。 |
このようにカタログのスペックだけでは見えない性能を考慮することも、失敗しないストレージ選びの重要なポイントです。ストレージを選択される場合は、見た目だけにとらわれ過ぎずに、様々な角度から機能や価格などを検証することをお勧めいたします。 |
 |
 |
 |
| 「ストレージ選びの落とし穴」をテーマに、5回連載でストレージにまつわる話題を解説していきます。次回は「障害時に初めてわかること」と題し、ストレージ選びの耐障害性、可用性をご紹介します。 |
|
 |
|