ストレージの性能が十分かどうかを確認するには、導入を予定しているストレージを使って、実際のシステムを動かしてみることが望ましい。仮想化技術によるシステム統合、ストレージ統合を行うのであれば、これまでの経験や勘に頼った性能設計ではなく、事前に一度は検証作業を行うべきだろう。

 実際のシステムを100%再現するような事前検証は困難であるとしても、特に負荷が高いと思われる処理を抜き出して、実際のデータか、それに近いテストデータを使ってベンチマークを実施することは最低限の確認作業としてお勧めしたい。ストレージを本番導入してみて十二分すぎるほど性能が足りていれば「もったいなかった」で済むが、万一性能が不足していたならば、最悪の場合には導入したストレージを捨てて、さらに1ランク上の高価なストレージを導入しなければならなくなる。転ばぬ先の杖として、必ず事前検証の工数を取っておきたい。

 今回は簡単なベンチマークの例として、ディスクの種類が変わることでどの程度の性能差が出るか、SATA、SAS、SSDの3種類のディスクを使って比較してみた。

 ベンチマークには2種類のツールを使用した。1つはWindows上で動作するディスクベンチマークツール「CrystalDiskMark」。シーケンシャルおよびランダムアクセスの性能検証に使用した。もう1つは「pgbench」。Linux上で動作するPostgreSQLに対してTPC-Bに準拠した検索更新トランザクションを実行し、より実際のシステムに近い性能を検証した。

CrystalDiskMarkのベンチマーク結果

 まずCrystalDiskMarkの結果を見てみよう。結果の数値はすべてMB/秒となっている。図1のシーケンシャルおよび512KB単位のランダムアクセスの結果を見ると、SSD(32GB)がSAS(1万5000rpm、36GB)の約2倍の性能を持っており、ランダム読み込みでは約4倍の性能を出していることが分かる。一般的にSSDはランダム書き込みに強いと思われがちだが、実際にはランダム読み込みの方がハードディスクと比較した場合の性能差が大きい。

図1●タイトル
図1●シーケンシャル/ランダムアクセスにおけるSSD、SASディスク、SATAディスクの性能

 SATA(5400rpm、120GB)とSASの間では回転速度がおよそ3倍異なっており、結果もきれいに3倍ではないが概ね回転速度差どおりの性能差となっている。