 |

|
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:コンパイルの処理の流れ
先のコンパイルした時刻を記録したファイル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)というアワードも受賞しているものの、どこにでもいそうなエンジニア風。
|
|
|
|