CPU のベンチマーク
理解のために小咄形式でまとめました。
システムパフォーマンス関連記事の目次
登場人物
- 太郎(後輩):入社1年目の若手エンジニア。
- 花子(先輩):システムエンジニア歴3年の先輩。
場面:社内の開発ルーム
太郎が CPU のパフォーマンステストについて調べている。花子に質問をする。
太郎:「花子先輩、CPU のベンチマーク測定や、パフォーマンステスト
ってどうやるんでしょうか? 普段の監視ツールと何が違う
のか、いまいち分からなくて。」
花子:「いい質問ね! CPU のパフォーマンスを評価する方法
には、大きく 監視ツール
と 実験ツール
の 2 つのアプローチがあるの。」
CPU のベンチマーク
花子:「CPU のパフォーマンスを積極的にテストする方法
は、大きく 2 つあるわ。」
- アドホックテスト
- SysBench を使った CPU ベンチマーク
1. アドホックテスト
花子:「アドホックテスト
っていうのは、 簡単なスクリプト
で CPU の負荷を意図的に作り出して、 システムの監視ツールが正しく動作しているか確認する方法
よ。」
-
例として、以下のコマンドを実行する
while :; do :; done &
- このコマンドは、
無限ループ
を作り出し、CPU を 1 つのスレッドで 100% 使用
させる top
やmpstat
を見れば、この負荷がどのように CPU に影響するか確認できる
「これは 負荷を意図的に発生させて、監視ツールの精度を確かめる手法
よ。」
太郎:「ってことは、 監視ツールが期待通りに CPU の負荷を表示できるか
を確かめるんですね!」
2. SysBench を使った CPU ベンチマーク
花子:「SysBench
は、 CPU の計算能力を評価するためのベンチマークツール
よ。」
-
例として、以下のコマンドを実行する
sysbench --num-threads=8 --test=cpu --cpu-max-prime=100000 run
- このコマンドは
CPU に素数を計算させる負荷をかける
スレッド数を増やすことで、マルチスレッドのパフォーマンスを測定
できる- 結果として、
CPU の処理速度やスケジューリングの影響
を評価可能
「これは CPU にとって実際の負荷がどれくらいの影響を与えるか
を測る 本格的なベンチマーク
ね。」
太郎:「なるほど! アドホックテストは監視ツールの確認
、 SysBench は CPU のパフォーマンス計測
に使うんですね!」
花子:「これを 車の性能評価
に例えると、こんな感じね。」
-
アドホックテスト → アイドリングテスト
エンジンをかけっぱなしにして、計器類(監視ツール)が正しく動いているかを確認する
問題があれば、計器の調整や修理を行う
-
SysBench → 実際の走行テスト
高速道路で最高速度テストを行い、どこまで加速できるか測る
坂道を登らせて、負荷がかかった時の性能を測る
太郎:「めちゃくちゃ分かりやすいです! 監視ツールの確認と、CPU の本格的なベンチマークを使い分ける
のが重要なんですね!」
まとめ
花子:「CPU の実験的なテスト
は、 可観測性ツールの検証
と CPU の本格的なベンチマーク
の 2 つの目的で行うのよ。」
太郎:「ありがとうございます! `まずはアドホックテストで監視ツールを確認し、それから SysBench で CPU の本格的な測定を試してみます!」
参考リンク
システムパフォーマンス関連記事の目次
システムパフォーマンス関連記事は、以下の書籍を参考に記述しています。