
第2回 実測! 物理マシンと仮想マシンの性能差は?
住商情報システム株式会社 中嶋一樹(著)
VA Linux Systems Japan株式会社 高橋浩和(監修)
2007/11/22
■ネットワークの性能
次にネットワークの性能を見ていきます。ネットワークの性能はdbenchパッケージに含まれている「tbench」という負荷テストツールで計測します。このツールは2つのノード間でデータを転送させ、そのスループットを計測するもので、dbenchと同様にスレッド数によって負荷を上げていくことができます。
![]() |
| 図5 ネットワーク性能比較――仮想マシンが1台の場合 |
ネットワークについてはテスト全体を通して約20%の劣化となっています。
さて、ネットワークについても、仮想マシンが2台になった場合の性能を見ておきたいと思います。次のグラフをご覧ください。
![]() |
| 図6 ネットワーク性能比較――仮想マシンが2台の場合 |
テスト全体を通じて、仮想マシントータルのスループットが物理マシンのスループットを上回っています。実際には、テストツールとして何を用いるかによって若干結果がブレることが予想されます。それでも、複数台の仮想マシンを稼働させるサーバの性能をトータルで見た場合、ハードウェアの性能は十分に引き出せるといえます。
ここまでで、物理マシンと仮想マシンにどれだけの性能差があるのかを見てきました。ここで紹介した数字は、あくまでも基本性能のベンチマーク結果であり、最終的なアプリケーションの性能数値ではありません。それでも、仮想マシンの性能がどの程度であるのかを知るのに役立つ指標となると思います。
仮想ディスクのフォーマットによる性能差
次に、仮想ディスクのフォーマットが仮想マシンの性能に与えるインパクトを検証していきましょう。仮想ディスクとは仮想マシンのファイルシステムを保存する媒体であり、大きく分けて、以下の3種類があります。
|
1は、あらかじめホストOSで切り出しておいた論理ボリュームに、直接仮想マシンのデータを保存する形式です。
2は仮想マシンに割り当てたい仮想ディスクと同じ容量のファイルを作成し、そのファイルに仮想マシンのデータを保存する形式です。ファイルを作成した時点で指定した容量を消費します。
3は、2と同様にまずファイルを作成し、そのファイルに仮想マシンのデータを保存しますが、実際にデータが存在する分しかディスクを消費しません。
例えば、10Gbytesの容量を持つ仮想ディスクのファイルを作成し、実際に書き込むデータは2Gbytesであるケースを想定しましょう。この場合、そのファイルが存在しているファイルシステムでは、ディスク容量を2Gbytesしか消費しません。データが実際に書き込まれるにつれて、この消費容量がオンデマンドで増えていくことになります。この方式はディスクの消費容量を大幅に節約できる半面、書き込み性能が低下するといわれています。
■フォーマットによる性能差
それでは、実際にこの3つのフォーマットの仮想ディスクを用いて仮想マシンを作成し、それぞれの性能を検証してみたいと思います。サーバ機と仮想マシンのスペックは「物理マシンと仮想マシンの性能差」のテストと同様です。性能計測も、前述のテストで用いたdbenchを再び使用します。
以下が、そのテスト結果です。
![]() |
| 図7 仮想ディスクのフォーマットによる性能差(Write Cache ON) |
LVMの論理ボリュームを用いた仮想マシンが最も良い性能を示し、次いでファイル、Sparseファイルとなっています。確かに優劣はあるものの、その差はわずかです。
ところで、このテストは、ストレージコントローラのWrite Cacheが「ON」の状態で行っています。
Write Cache(ライトキャッシュ)とは、物理的にメインメモリとは別に存在するストレージコントローラ専用のメモリです。OSからは透過的に動作し、OSから書き込み命令のあったデータを専用メモリに書き込んだ時点で、OS側に制御が返ります。実際のディスクへの書き込み完了を待たずに次の処理に移ることができるため、I/O待ち時間が大幅に短縮されます。
ハイエンドのRAIDコントローラなどには、このWrite Cache機構が搭載されていることがほとんどです。しかし一般的なサーバ機には、まだ標準では搭載されていないケースが多いと思われます。
■環境に応じてWrite Cacheを賢く使う
それでは、このWrite Cache機構を「OFF」にするとどうなるでしょうか。以下はWrite CacheをOFFにして、先ほどと同様のテストを行った結果です。
![]() |
| 図8 仮想ディスクのフォーマットによる性能差(Write Cache OFF) |
LVMの論理ボリューム、ファイルを用いた仮想マシンでは少し性能が劣化した程度ですが、Sparseファイルを用いた仮想マシンでは大幅に処理能力がダウンしています。
前二者は、OSのページキャッシュを活用してディスクへの同期処理をうまく節約できていたので、Write Cacheがなくてもそれなりの処理速度を保つことができます。しかしSparseファイルの方は、そのフォーマット上、データ書き込みを行うとより多くのディスク同期処理が発生してしまいます(注)。このため、2つ目のテストではWrite Cacheに頼っていた部分がI/O待ち時間になってしまい、それが処理速度の低下という結果を招いたと考えられます。
| 注:Sparseファイルへのデータ書き込みに余計な負荷が掛かるのは、仮想化に起因するものではありません。物理マシン上でも、Sparseファイルへの書き込みは通常のファイルへの書き込みに比べて速度が劣化します |
従って、結果としてはSparseファイルをベースとした仮想マシンは、書き込み処理が多い環境下では極端に性能が劣化する場合があるため注意が必要です。しかしWrite Cache付きのストレージコントローラをインストールすることにより、Sparseファイルを使用した仮想マシンでも、ほかの仮想ディスクフォーマットと同レベルの処理能力へと性能を飛躍的に改善できる可能性があります。
今日では、Write Cacheを搭載したストレージコントローラは比較的安価に購入できます。仮想ディスクにSparseファイルを用いる環境では、このようなハードウェアは必須といえるでしょう。SparseファイルとストレージコントローラのWrite Cacheを組み合わせることにより、パフォーマンスの劣化を緩和させながらディスクを大幅に節約できます。これは仮想マシン環境だからこそ実現できるコストダウンの一例といえます。
あるいは、仮想ディスクがSparseファイルでなくとも、一部のデータベースなどのアプリケーションが同期書き込みを頻発するような場合も同様です。特にサーバ統合を行う仮想化環境ではディスクI/Oはボトルネックとなる可能性が高い個所なので、さらにストレージコントローラのWrite Cacheの重要性は高いといえます。
以上の2種類のパフォーマンステストを通じて、どういった要素が仮想マシンの性能に影響を与えるかが分かってきたと思います。次回はこれを踏まえて、1台の物理マシンにどのくらいの仮想マシンを搭載できるのかという仮想マシンの集約密度について詳しく見ていきます。
|
2/2 |
|
||||
|
||||
| Linux Square全記事インデックス |
| Linux Squareフォーラム 仮想化技術関連記事 |
| 連載:実践! Xenで実現するサーバ統合 有力な仮想化技術として注目を集めるようになった「Xen」。このXenを活用してサーバ統合を実践していく手順を具体的に紹介します |
|
| 特集:サーバの仮想化技術とビジネス展開の可能性 jailからUML/VMwareまで 1台のマシンで複数のサーバを動かす「仮想化技術」。VMwareやUMLの登場により、WebサイトだけでなくOS自体を仮想化できるようになった |
|
| 特集:仮想化技術のアプローチと実装 VMwareから要注目技術Xenまで 1台のサーバで複数の仮想マシンを実行する仮想化技術は、空間コストを引き下げる可能性を持つ。最新の仮想化技術を概観してみよう |
|
| 特集:仮想OS「User Mode Linux」活用法 技術解説からカーネルカスタマイズまで Linux上で仮想的なLinuxを動かすUMLの仕組みからインストール/管理方法やIPv6などに対応させるカーネル構築までを徹底解説 |
|
| 特集:仮想化技術の大本命「Xen」を使ってみよう インストール & Debian環境構築編 高いパフォーマンスで本命の1つとなった仮想マシンモニタ「Xen」。日本語による情報が少ないXenを、実際に動かしてみよう |
|
| 特集:仮想化技術の大本命「Xen」を使ってみよう Xen対応カスタムカーネル構築編 Xen環境およびその上で動作する仮想マシン用カーネルを自分で構築しよう。これにより、自由にカスタマイズしたカーネルを利用できる |
|
| 特集:IPv6、UML、セキュリティ機能の統合 全貌を現したLinuxカーネル2.6[第4章] 今回は、これまでに紹介し切れなかった機能を一気に紹介する。これを読めば、カーネル2.6の正式リリースが楽しみになるだろう |
|
| Linux Squareプロダクトレビュー VMware Workstation 4 PC/AT互換機エミュレータとして不動の地位を築いたVMware。その新バージョンがリリースされた。新機能を早速試してみよう |
|
| 古くて新しい「サーバ仮想化技術」の行方 サーバ仮想化を実現するための技術がソフトウェア、ハードウェアの両面で出そろってきた。ハイパーバイザーのさらなる高速化に向けた動きを紹介する |
|
| Linux Squareフォーラム全記事インデックス |
TechTargetジャパン
- 新しい記事も入っていて安心しました (2012/2/7)
Linux Squareのアクセスランキングを公開します。定番の記事ばかりでなく、連載中の記事もよろしくお願いいたします - エラーメッセージをどう扱うか? (2012/2/2)
今回は、スクリプト実行時にエラーが発生したことを知らせるメッセージの扱い方を説明します - ファイルのアップロードを制限する (2012/1/30)
HTTPクライアントがアップロードしてくるファイルの扱いについて解説します。そもそも受け入れる必要があるのか? ということのほかにも、いろいろ設定が必要です - OSに付属するシェルスクリプトを読んで技術を盗む (2012/1/27)
シェルスクリプトマスターに近づくには、他人から技術を盗まなければならない。OS付属のスクリプトから技術を盗もう
|
|
キャリアアップ
スポンサーからのお知らせ
- - PR -
イベントカレンダー
- - PR -




