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

第3回:プログラムコンパイル時のパフォーマンスは?
著者:宮本 久仁男   2006/10/27
1   2  3  次のページ
はじめに

   第1回はCPU、第2回はI/O周りの性能について検証を行いました。今回は、CPUとI/O周りに加え、メモリアクセスを組み合わせた総合的なパフォーマンスを見てみましょう。具体的には、同じプログラムをコンパイルさせ、その時間の差異を測ります。

   第2回では同期I/Oを発生させましたが、これはI/O装置の最適構成を検討するための仕込みであり、実際の利用を行うにあたって同期I/Oを行うことは(信頼性はともかくとして)性能の面で不利になります。そこで、第3回は非同期I/Oにこの部分を戻してみます。

環境の作り方

   今回の検証には、Xenそのもののをコンパイルする環境が必要になります。インストールについての解説は割愛しますが、最低限コンパイラが必要です。

   みなさんの環境でチェックされる場合には、コンパイラまでインストールされているかどうかを確認の上実施してみてください。


ドメイン0におけるXenそのもののコンパイル性能を見る

   今回の執筆時にちょうどXen 3.0.3がリリースされたこともあり、このプログラムをコンパイルしてみます。

   まずはネットワークI/Oが発生しないように、次のようにLinuxカーネルソースをローカルにコピーします。

$ gzip -dc xen-3.0.3_src.tgz | tar xvf
$ cd xen-3.0.3_src
$ (カーネルソースを取得)
$ date >> ../compiletime;make;date >> ../compiletime

   このようにしてファイルcompiletimeに記録された時刻から、処理にかかった時間を算出します。コンパイルという作業の特性を考えると、表1にあげる処理の連続になります。もっとも時間がかかるのはファイルI/Oと考えられますが、ファイルI/Oの性能は、非同期I/Oで実施すると実I/Oが発生するタイミングに差異がでてきます。

  1. ファイル読み込み
  2. メモリ読み書きおよび演算
  3. ファイル書き込み

表1:コンパイルの処理の流れ

   先のコンパイルした時刻を記録したファイルcompiletimeは次のようになっています。これより、ドメイン0のXen 3.0.3のコンパイルには59分9秒かかったことがわかります。

2006年 10月 25日 水曜日 03:10:44 JST
2006年 10月 25日 水曜日 04:09:53 JST

1   2  3  次のページ


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


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