ソフトウェアテスト基本テクニック

第8回 性能テスト

この記事を読むのに必要な時間:およそ 3 分

性能評価の方法

最後に,性能テストで得られた結果を評価していく方法を見ていきましょう。性能の評価は,表2のような性能テストの結果から,図4のようなグラフを作成して行います。

表2 アクセス数におけるスループット・レスポンスタイム

アクセス数(件/秒)スループット(件/秒)レスポンスタイム(秒)
10101
20201.2
30301.4
40401.5
50502
60552.8
70608
805820
905740
1005565

図4 アクセス数におけるスループット・レスポンスタイム(表2をグラフにしたもの)

図4 アクセス数におけるスループット・レスポンスタイム(表2をグラフにしたもの)

図4は,横軸がアクセス数(件/秒⁠⁠,左の縦軸がスループット(件/秒⁠⁠,右の縦軸がレスポンスタイム(秒)です。このように,アクセス数を段階的に増加させて数回の性能テストを実施し,その結果を組み合わせてグラフ化し,評価をします。

まずは性能目標の達成確認をしましょう。今回の性能目標は,先ほど挙げた例と同じように,⁠スループット50件/秒⁠⁠,⁠レスポンスタイム3秒以内」としましょう。図4表2を見てみると,スループットが50件/秒の時のレスポンスタイムは2秒となっていることがわかります。したがって,このシステムは性能目標を達成していることがわかります。

では次に,限界性能を確認しましょう。限界性能は一般的には目標レスポンスタイムを超える前の測定とします。今回の結果を見てみると,アクセス数60件/秒の測定でレスポンスタイムが2.8秒,アクセス70件/秒の測定でレスポンスタイムが8秒になっていることがわかります。このことから,このシステムの性能限界は60件/秒であることがわかります。したがって,アクセス数が60件/秒の測定時のリソース使用量から,どのリソースが使い切られて性能限界に達しているかを確認し,それに対する対応策を立てる必要があります。

まとめ

昨今では,性能問題はシステムダウンと同等の扱いを受けるようになってきました。ですので,ひとたび性能問題を起こせば,それはシステムの顧客に多大な影響を及ぼし,一瞬で信頼を失ってしまいかねません。その信頼を取り戻すには多大な時間と労力が必要となるでしょう。

また,運用中に発生した性能問題というものは,そう簡単には解決できるものではありません。性能テスト時に性能限界に対する対応策が立ててあり,さらに,しっかりとした運用中の性能監視が施されているシステムなら問題はないのですが,そうでなかった場合,性能問題の原因が全くわからないため何も対策が打てず,何日間も性能問題を抱えたままシステム運用をすることになりかねません。そして最悪のケースでは,一度システムの運用を停止して性能テストを実施することになるでしょう。

こうした事態に陥らないためにも,システムをカットオーバする前に必ず性能テストを実施し,性能問題への対応策をあらかじめ用意しておきましょう。また,システムの運用開始後も性能監視ができる仕組みを導入し,確実に性能問題を予防することができる体制を整えておきましょう。

著者プロフィール

堀江幸紀(ほりえ ゆきのり)

(株)NTTデータ 基盤システム事業本部所属。Webシステムのインフラ設計に関する研究開発を経て,現在はシステム開発の全工程における性能管理を支援する「性能プロフェッショナルサービス」のプロモーションと人材育成を担当。