TOPサーバ構築・運用> 性能劣化の要因はどこ?
Xenパフォーマンステスト
Xenのパフォーマンステスト 〜どこまで性能がでるの?

第3回:プログラムコンパイル時のパフォーマンスは?
著者:宮本 久仁男   2006/10/27
前のページ  1  2  3
性能劣化の要因はどこ?

   1つのドメインで単純に2回同じ作業をする場合は、120分で済むことが予想されるので、2つのドメインを並行して重労働させた場合、性能は落ちるといえます。今回の性能劣化の要因としては、表2にあげるようなことが考えられます。
  • 同じ物理ディスクにアクセスが集中する
  • 仮想ディスクへの頻繁なランダムアクセスにより、物理ディスク上でのランダムアクセスも同様に頻発する

表2:性能劣化の要因

   前回は書き込みに関してシーケンシャルアクセスの性能を測定しましたが、今回は読み書きにおけるランダムアクセスが発生する状況における性能になります。

   ディスク上の配置にもよりますが、同じデータ量を取り扱うのであれば、シーケンシャルアクセス時に比べると、ランダムアクセス時の性能の方が劣ります。今回の評価結果は、おそらくファイルアクセスの性能劣化が強く影響したことによるものでしょう。

   また、ドメイン0においてwコマンドを実行すると次のような結果が得られました。load averageが高い状態になっており、ドメインUでの処理の影響があらわれています。

kid:/home/wakatono# w
23:30:31 up 10 days, 20:50,  4 users,  load average: 2.04, 13.68, 11.60
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
wakatono pts/1    ns2.todo.gr.jp   23:27    0.00s  2.00s  0.66s sshd: wakatono
wakatono :0       -                23:27   ?xdm?  46:48   9.38s x-session-manag


まとめ

   ある程度予想はしていたものの、ランダムアクセス時の性能劣化が強く現れた結果となりました。

   各ドメインが使うCPU使用率も必ずしも安定したものではありません。ただ、ドメインU単体でのコンパイル作業時間とドメイン0単体でのコンパイル作業時間に、ほとんど差が見られないという面白い結果も得られています。このことより、仮想ディスクアクセス以外にボトルネックになる可能性がある「メモリアクセス」についてはほとんどオーバヘッドにならないということも考えられます。

   開発作業以外の「負荷が軽い」機能試験の環境を「より他の環境と隔絶された」状態で同居させたい、もしくは開発環境を分けたいが、物理的な制約からマシンの台数が制限されている場合など、「開発環境のために1つドメインを作成し、別の環境から隔離された状態で作業を行うとことは充分実用的である」といえそうです。

   仮想マシン環境のサイジングは難しい、というのが正直な所感ですが、CPU処理やメモリを多く必要とするサーバと、I/O系の処理が多く発生するサーバというように、明らかに異なる用途のサーバを同居させるというように、比較的シンプルに要件が定まっている場合には、同居させてみる価値は充分あるでしょう。

   また、第2回の検証結果から、ハードディスクのコントローラを分けた場合にも性能劣化は抑えられる可能性があるので、どうしても複数のI/Oメインのサーバを同居させなければならないような場合には、そのようなアプローチを取ることも考えたほうがよいでしょう。

前のページ  1  2  3


宮本 久仁男
著者プロフィール
宮本 久仁男
某大手SIerに勤務。OSおよびミドルウェア、アプリケーション開発、インターネットサーバの運用管理、社内技術支援などを経て、現在は動向調査業務に従事する。業務の傍ら、大学にも所属(博士後期課程)し、研究生活を送る。あらゆる分野に興味を持ち、それらについて自学自習で学びつつ、成果をコミュニティにフィードバックしたり、研究/検証テーマを模索したりという日々。Microsoft MVP (Windows - Security)というアワードも受賞しているものの、どこにでもいそうなエンジニア風。


INDEX
第3回:プログラムコンパイル時のパフォーマンスは?/td>
  はじめに
  ドメインU×1個におけるXenそのもののコンパイル性能を見る
性能劣化の要因はどこ?