サーバーのCPUやメモリーがナノ秒(ns)の単位で処理されるのに比べ,ディスクへのI/Oはミリ秒(ms)の単位で処理されます。ストレージ性能は,システム性能を決定する大きな要因になります。今回は,システム性能を大きく左右する「ストレージの性能管理」について説明します。

 性能の代表的な指標には「応答時間」と「スループット」があります。この2つの指標に基づいて説明しましょう。

 応答時間(I/O応答時間,もしくは,I/Oレスポンス・タイム)は,1つの仕事を処理する速さを指します。具体的には,OSがI/O命令を発行してから,要求したデータがメモリー領域に格納されるまでの時間(リード)です。もしくは,メモリー上のデータが,ストレージに格納されたことを確認するまでの時間(ライト)になります。

 応答時間は,従来,OSのツール(もしくはそのインタフェースを利用したモニタリング・ツール)でのみ計測可能でしたが,数年前からストレージ装置に備わるツールでも,ほぼ同様の応答時間が捕捉できるようになっています。ストレージ装置に備わるツールで捕捉できるのは,ストレージがI/O要求を受け取ってから,その要求完了の情報を返すまでの時間になります。そのため,サーバーから見るI/O応答時間と若干のズレ(HBA/FC部分の所要時間がずれの部分なので,1ミリ秒前後と考えてよいでしょう)はありますが,このズレは通常の管理の範疇では問題にならないレベルです。

 現在のストレージの応答時間は,1ミリ秒から数十ミリ秒の範囲です。ただし,この時間は1回のI/Oの単位(ブロック)の大きさにより変動します。ハイエンド・ストレージでの平均的な応答時間は,4Kバイトの場合,リードで5ミリ秒前後,ライトは1ミリ秒から2ミリ秒です。この程度の値が出ていれば,十分な性能であると考えていいでしょう(キャッシュの利用を前提とした値です)。

 一方のスループットは,単位時間当たりに処理できる仕事の量を指します。このスループットは,1秒間に処理できるI/O要求数を示す「IOPS」(I/Os Per Second)と,1秒間に転送できるデータの量を示す「KBPS」(Kilo Byte Per Second)という2つの指標があります。

 これらは,サーバーのOSレベルで捕捉される値と,ストレージのツールで捕捉される値は基本的に一致します。ただし,応答時間のように平均的な値を提示することには無理があります。特にデータ転送量に焦点を当てた場合,磁気ディスクへのアクセスが前提となりますので,RAID構成や,磁気ディスクのタイプ(FC, SATA, その密度,回転数など)に大きく依存するからです。

 応答時間とスループットの関係ですが,必ずしも「スループットが高い=応答時間が短い」とはなりません。例えば,処理の多重度を上げてスループットの向上を図っている場合,応答時間は必ずしも短くなるとは限りません。

 ストレージの性能を管理する場合,基本となる指標は応答時間とスループットです。その補足情報として,キャッシュ・ヒット率,ブロック・サイズ,デバイス・ビジー率(ディスク使用率)を押さえます。そのほかにも製品によって種々の指標がありますが,まずは基本となる指標を正しく理解し,日常的に管理することが重要です。