【連載】Twitterまとめ - 第2回 サービス企画の苦しみ編(5月3週)
2010年05月27日
サイテック株式会社で、根っからの技術者である社長や、大手IT企業から転職してきた仲間たちと議論しながら、社会をもっと豊かに、幸せにするアプリケーションを作ってみませんか?
この会社の特徴を知る
など 8 記事
など 17 記事
など 66 記事
サイテックのオフィス引越しやら何やらで前回から間隔が空いてしまいましたが(すみません・・・)、
裏ではKVMの性能検証を地道に進めていました。
さて、サーバの仮想化ではハイパーバイザーによりCPUやメモリの割り当ては管理者が制御することができますが、
ディスクアクセスだけは制御できないので仮想サーバ間での干渉には十分注意を払わなくてはいけません。
そこで、今回は仮想化によりどれだけディスクアクセスのオーバーヘッドが加わるのかを検証してみたいと思います。
検証の条件としては下記の通りです。
・物理サーバ、仮想サーバ共にCPUコア×4、メモリ1GB割り当て
・Readはhdparmコマンド、Writeはddコマンドで計測(両方ともシーケンシャルアクセス)
・それぞれ12回計測し、最大値と最小値を除いた結果を平均して比較
・仮想サーバは前回インストールしたCentOS5.3(カーネルVer. 2.6.18)なのでvirtioは未対応(virtioは別途検証予定)
結果は下記の通りです。


Readはほぼ同等の速度が出たのに対し、仮想サーバのWriteは物理サーバに比べて半分ほどのスループットしか出ていません。
もちろんこの結果が全てではないと思いますが想像以上のオーバーヘッドです。
さらに細かく見ていきましょう。

注目すべきは仮想サーバのRead、Writeの値のバラつきです。
今回はランダムアクセスではないのでディスクのシークタイムに左右される要素は少ないはずですが、
明らかに物理サーバとは異なる値の出方をしています。
まず仮想化による影響と考えて良いでしょう。
この結果を純粋に鵜呑みにするのであれば、
「ディスクへの読み書きが頻繁に行われるサーバは何も考えずに仮想化すべきでない」と
考えるべきでしょう。
他の検証の考察なども含めてこのブログで改めて総括していきたいと思います。
また他にも色々な検証があると思いますので、
リクエストや情報をお持ちの方はぜひご連絡頂ければと思います!
■今日のひとりごと(ちょっと長いです!)
なぜランダムアクセスではなくシーケンシャルアクセスで比較したかということをお話しましょう。
今回は検証用サーバが一台のため、物理サーバの性能測定は全仮想サーバをシャットダウンした状態の物理サーバをそのまま使用し、
仮想サーバの検証は割り当てリソースを調整(上記割り当てCPU、メモリのこと)した物理サーバの上で動いている仮想サーバを使用しました。
(検証毎に物理サーバからフルセットアップはさすがにできませんので・・・)
勘の鋭い方ならお気づきでしょう。
この検証ではCPU、メモリの条件は揃えられますが、物理サーバ・仮想サーバから認識されているディスク領域に差が出てしまいます。
ちなみに今回の検証だと物理サーバは600GB、仮想サーバは100GBの認識になっています。
そして、仮想サーバ構築時には仮想ディスク作成として連続した100GBのディスク領域を確保されているのです。
600GBを相手にするランダムアクセス vs 100GBを相手にするランダムアクセス!!!
・・・仮想化のオーバーヘッドはあるにせよ、これではあまりにも不公平ですよね(苦笑)
もっと自由に使えるサーバを新たに確保したら物理vs仮想のランダムアクセス対決を改めてやりたいと思います。
というわけで、サーバ買ってください(笑) > 谷田部さん
トラックバックはありません
メンバー紹介
2010年05月27日
2010年05月18日
2010年04月26日
2010年04月19日
2010年03月10日
2010年03月10日
2010年02月25日
2010年01月22日
2009年12月24日
2009年12月21日
コメント