SSDに関する検証 その3
<緊急特集!!SSDに関する検証 その3>
ペンネーム: ミラニスタ
磁気ディスクの代わりに半導体メモリにデータを記録するストレージ装置
SSD (Solid State Disk) の検証を行っています。
検証製品(富士ゼロックス株式会社様製 GigaExpress)の紹介URL⇒
http://www.fujixerox.co.jp/product/gigaexpress/
▼ 前回のおさらい
ファイル Config1 Config2 ------------------------------ ------------- ------------- SYSTEM 表領域 磁気ディスク 磁気ディスク ユーザ表領域 磁気ディスク SSD UNDO 表領域 磁気ディスク SSD 一時表領域 磁気ディスク SSD オンライン REDO ログファイル 磁気ディスク SSD
という2つの形態において、約1,000バイトのデータを 200万行 Insert し、
Config1 : 1h 18m 27s
Config2 : 0h 05m 50s
という結果を得ました。
Config2 のスループットは Config1 の実に約 13.5 倍でした。
▼ iostat の結果を見てみる
両者を客観的に評価するため、iostat で取得した結果を比較してみます。
○ 主なカラムのおさらい
wkB/s : 1秒あたりの書き込み KB 数 avgqu-sz : 平均 I/O キュー数(この値が高い場合は要注意) %util : ディスクビジー率(100 に近いほど性能限界)
○ Config1(磁気ディスク)
$ iostat -x -t sda 2 ..... 時間: xx時31分54秒 CPU平均: %user %nice %sys %iowait %idle 19.00 0.00 2.25 78.75 0.00 デバイス: ... wkB/s avgrq-sz avgqu-sz await svctm %util sda2 ... 1432.00 12.13 52.60 244.16 4.23 100.00 時間: xx時31分56秒 CPU平均: %user %nice %sys %iowait %idle 8.00 0.00 0.25 91.75 0.00 デバイス: ... wkB/s avgrq-sz avgqu-sz await svctm %util sda2 ... 1858.00 15.18 73.19 265.49 4.08 100.00 時間: xx時31分58秒 CPU平均: %user %nice %sys %iowait %idle 16.25 0.00 2.00 81.75 0.00 デバイス: ... wkB/s avgrq-sz avgqu-sz await svctm %util sda2 ... 1612.00 12.52 58.27 267.77 3.83 98.50 時間: xx時32分00秒 CPU平均: %user %nice %sys %iowait %idle 7.25 0.00 0.75 92.00 0.00 デバイス: ... wkB/s avgrq-sz avgqu-sz await svctm %util sda2 ... 2252.00 15.45 68.86 207.32 3.43 100.00 時間: xx時32分02秒 CPU平均: %user %nice %sys %iowait %idle 25.50 0.00 0.75 73.75 0.00 デバイス: ... wkB/s avgrq-sz avgqu-sz await svctm %util sda2 ... 2072.00 18.50 47.55 219.64 4.46 100.00 ..... ====================================================================
これは~、突っ込みどころが満載です!(笑)
まずは、CPU平均 を見てみましょう。%iowait の値が 70-90%台となってい
ることがお解りいただけますでしょうか?約100分弱の処理時間における平均
値は、89.9% でした。
一方、%user は、高くても 25%、ひどい時は1桁台です。同じく処理時間
における平均値は 8.6% でした。
%iowait は実際に CPU が回っている時間の割合ではなく、CPU がディスク
の入出力を待っている時間の割合です。従ってむしろ %idle と同じように分
類されるべきものです。
それにしても、CPU リソースの 9割が I/O 待ち状態で、実際の処理に費や
される分が 1割にも満たないとは!時間がかかるわけです。
https://old.insight-tec.com/img/ora3/Config1_CPU.JPG
チャートは、処理時間における CPU 使用率です。
オレンジ色の %iowait が占める割合が非常に多いことがわかります。
次に、sda2(磁気ディスク)の情報を見てみましょう。
%util がほぼ 100% となっています。完全にディスク装置の限界に来ていま
す。何だか悲鳴が聞こえてきそうな感じです。平均でも 99.1% でした。
さらに、avgqu-sz は、40-70台となっています。処理時間における平均値
は 37個、最大は何と 551個の I/O リクエストがキューにたまっていました。
wkB/s は、平均 1,412.5 KB/sec 最大 4,822.0 KB/sec でした。これは後で
SSD との比較をするために覚えておきましょう。
以上のように「Config1(磁気ディスク)」は、完全にディスク・ボトル
ネックの状態です。
読者の皆さんの中で、「最近、夜間バッチ処理の時間がかかり過ぎて、オン
ライン開始時間までに終わらない。」というような悩みを抱えていらっしゃる
方はいませんか?
そんな場合は、是非 iostat で状況を確認してみてください。
さあ次は、いよいよ SSD の検証結果です!!
○ Config2(SSD)
$ iostat -x -t sdb 2 ..... 時間: xx時48分05秒 CPU平均: %user %nice %sys %iowait %idle 90.25 0.00 9.75 0.00 0.00 デバイス: ... wkB/s avgrq-sz avgqu-sz await svctm %util sdb1 ... 12228.00 11.28 0.47 0.21 0.03 6.50 時間: xx時48分07秒 CPU平均: %user %nice %sys %iowait %idle 93.25 0.00 6.75 0.00 0.00 デバイス: ... wkB/s avgrq-sz avgqu-sz await svctm %util sdb1 ... 12686.00 10.56 0.64 0.27 0.02 6.00 時間: xx時48分09秒 CPU平均: %user %nice %sys %iowait %idle 60.50 0.00 22.75 14.00 2.75 デバイス: ... wkB/s avgrq-sz avgqu-sz await svctm %util sdb1 ... 54406.00 11.21 11.76 1.21 0.02 22.50 時間: xx時48分11秒 CPU平均: %user %nice %sys %iowait %idle 88.81 0.00 6.97 4.23 0.00 デバイス: ... wkB/s avgrq-sz avgqu-sz await svctm %util sdb1 ... 15974.13 11.48 2.74 0.98 0.02 5.47 時間: xx時48分13秒 CPU平均: %user %nice %sys %iowait %idle 93.67 0.00 5.84 0.49 0.00 デバイス: ... wkB/s avgrq-sz avgqu-sz await svctm %util sdb1 ... 11817.48 11.41 4.97 2.40 0.03 6.31 ..... ====================================================================
まずは、CPU平均の %iowaitです。約 6分弱の処理中 平均では、何と 7.7%
でした。(Config1: 89.9%)
一方 %user は相対的に高くなっています。平均では 81.1% でした。
つまり、CPU リソースをユーザ処理にうまく回していることがわかります。
https://old.insight-tec.com/img/ora3/Config2_CPU.JPG
チャートで確認すると、オレンジ色の %iowait よりも、青色の %user が圧倒
的に多いことがわかります。
次に、ディスク・ビジー率(%util)がどうなっているか見てみましょう。
んっ!?何だかとても低くなっているようです。最大でも 24.1% 平均では
9.5% でした。全然余裕です!SSD の中から口笛が聞こえてきそうな感じです。
avgqu-sz も Config1 と比べると、非常に低いです。
(平均: 4.1個、最大: 12.4個)
しかし、何といっても驚異的なのは wkB/s です。
平均で 19,328.1 KB/sec 最大では 54,406.0 KB/sec でした!!
▼ まとめ Config1 Config2 比(%、100以上は倍数) ---------------------------------------------------------------------- %iowait(平均 %) 89.9 7.7 8.6 %user(平均 %) 8.6 81.1 9.4倍 %util(平均 %) 99.1 9.5 9.6 avgqu-sz(平均 個) 37.0 4.1 11.1 (最大 個) 551.4 12.4 2.2 wkB/s(平均 KB/sec) 1,412.5 19,328.1 13.7倍 (最大 KB/sec) 4,822.0 54,406.0 11.3倍 ----------------------------------------------------------------------
冒頭でご紹介した、スループットの差は wkB/s の差に奇しくも一致したよ
うです。ということは、データ量に関わらずこれくらいの差はつくのかもしれ
ません。
ディスク・ボトルネックとなっている環境で、SSD を導入することの最大の
メリットは、「ボトルネックをディスクから CPU にシフトさせる」ことです。
「半導体の集積度は 2年で倍になる」というムーアの法則、さらにパイプラ
イン方式等による高速処理化、あるいはマルチ・プロセッサ化により、CPU の
性能は、今後も飛躍的に向上していくことでしょう。
従って、構造的・技術的に半導体ほどの性能(高速性)向上が見込めない、
磁気ディスクにおけるボトルネックを CPU にシフトさせるということは大い
に意義のあることなのです。
また、半導体のさらなる高集積化により、SSDの大容量化および低コスト化
が今後加速されていくことは確実だと思われます。
SSD の実力と、SSD に注目していくことの意義、ご理解いただけましたで
しょうか?
最初の検証では、DB をほぼ丸ごと SSD に載せた場合をテストしましたが
16GB の容量では実用的なニーズを満たすことは難しいのではないかと思われ
ます。
次回からは、SSD を限定的に使用した場合(例:REDO のみ等)を検証して
みることにします。
今回はここまで!!
サッカー 2008年欧州選手権予選は、グループBがホットです!!
安物の USB 扇風機はうるさくて使えない 茅ヶ崎にて