TOP比較データ> ベンチマーク結果と分類
OSS評価手法
オープンソースソフトウェアの性能・信頼性評価手法

第8回:Linuxの性能評価
著者:ミラクル・リナックス  吉岡 弘隆   2005/7/5
前のページ  1  2   3  4  次のページ
ベンチマーク結果と分類

   ベンチマークの結果、I/O結果は大きく分けて3種類に分類できることがわかった(表2)。この分類は、スループット結果とプロファイリング結果とで共通であった。
プロファイリング結果 スループット結果 I/OパターンID
CPUビジー型 良好 3 ,4, 6, 7, 9, 10
CPUアイドル型(I/Oビジー型) やや悪い 1, 2
ロック競合型 悪い 5, 8, 11

表2:I/O結果の分類

スループット結果
図2:スループット結果

   CPUビジー型は、iozoneプロセスからページキャッシュへのデータのコピー処理がボトルネックになっているケースであり、最も多く見られたパターンである。優れたスループット結果に現れている通り、非常にスムーズにI/O処理が行われた状態にある。

   CPUアイドル型(I/Oビジー型)は、8GBのファイルを単一のI/Oで作成する場合に発生しており、これはデバイス(ハードディスクやディスクコントローラ)がボトルネックとなり、CPUに待ち状態が発生したケースと考えられる。この場合は、ハードディスクやコントローラの交換などによるデバイスの高速化が最も効果的なボトルネック解消方法といえる。

   ロック競合型は、グローバルなカーネルロックの競合が発生したため、CPUに待ち状態が発生したケースであり、iozoneコマンドを複数起動した際に観測された。具体的にカーネルのどの部分のカーネルロックが競合したかについてをOProfileとLKSTのデータを解析することから導き出すことができた。


CPUビジー型

   CPUビジー型については、パターンID 9を取り上げる。

パターンID オプション -s オプション -t オプション -T iozoneコマンド数
9 2G 4 × 1

表3:条件

所要時間(Wall time) 89.446秒
ファイルサイズ合計 8,388,596.00kB
スループット合計 94,740.99 kB/sec

表4:IOzone結果

順位 シンボル サンプル数 占有率(%) 累積占有率(%)
1 do_generic_file_write 8,462 16.16 16.16
2 get_hash_table 4,584 8.754 24.91
3 unlock_buffer 3,364 6.424 31.34
4 __br_write_lock 2,763 5.276 36.61
5 __write_lock_failed 1,989 3.798 40.41
6 __br_write_unlock 1,516 2.895 43.31
7 __free_pages_ok 1,287 2.458 45.76
8 rmqueue 1,190 2.272 48.04
9 get_unused_buffer_head 1,140 2.179 50.21
10 .text.lock.sched 1,122 2.143 52.36

表5:プロファイリング全体結果

   do_generic_file_writeを細分化した結果は表6の通り。

アドレス サンプル数 do_generic_file_writeに対する占有率(%) 全体に対する占有率(%) 命令
0xc0160de5 1 0.011818 0.00191 shr $0x2,%ecx
0xc0160de8 7552 89.246 14.4213 repz movsl %ds:(%esi),%es:(%edi)
0xc0160dea 358 4.23068 0.683637 mov %eax,%ecx
0xc0160dee 95 1.12267 0.181412 mov %ecx,%ebx
0xc0160df0 1 0.011818 0.00191 mov 0x10(%esp,1),%edi

表6:プロファイリングdo_generic_file_write詳細

   命令は、下記のobjdumpコマンドを使用して確認した。

# objdump -d /boot/vmlinux-2.4.21-9.38AXsmp --start-address=0xc0160de5 \
--stop-address=0xc0160df4
前のページ  1  2   3  4  次のページ


ミラクル・リナックス株式会社 吉岡 弘隆
著者プロフィール
ミラクル・リナックス株式会社  吉岡 弘隆
2000年6月ミラクル・リナックス(株)設立、それ以前は日本オラクルにてOracleデータベースのサポートを担当していた。オープンソースとの出会いは、1998年米国Oracle出向時にNetscapeのソースコード公開がきっかけ。
ミラクル・リナックス株式会社 取締役
日本OSS推進フォーラム ステアリングコミッティ委員
OSDL Japan アドバイザリボードメンバー


INDEX
第8回:Linuxの性能評価
  はじめに
ベンチマーク結果と分類
  CPUビジー型の考察
  評価手法のまとめ