ablog

不器用で落着きのない技術者のメモ

負荷テストについて基本的なメモ

  • 負荷テストは性能要件を満たすことを確認するテスト。
  • 要件(requirement)には機能要件(functional requirement)と非機能要件(non-functional requirements)がある。
  • 性能要件は非機能要件の一つ。
  • 非機能要件には性能要件、障害対策要件、セキュリティ要件、運用要件などがある。
  • ウォーターフォールモデルの場合、結合テストの後に実施するのが一般的。先に非機能要件を確認したら、機能要件が満たされてなくて修正したら、再度、非機能要件を確認しないといけない。だから、機能要件、非機能要件という順番で確認するんだと思う。
  • 本番環境と同等のハードウェア環境を用意したほうが良い。
  • 目標値をクリアするまで、負荷テスト → パフォーマンスチューニング ... を繰り返す。
  • スループットは単位時間あたりにシステムが処理できる処理数。Webアプリケーションなら秒間PV数、DBサーバなら秒間何クエリなど。重要なのは平均のトラフィックではなくピーク時のトラフィックを目標値に定めること。
  • レスポンスタイムひとつの処理に要する時間。Webアプリケーションならクリックしてから応答が返り、画面に表示されるまでの時間。パーセンタイル値が指標としてよく使われる。「95パーセンタイル値2秒」など。
  • ターンアラウンドタイムはレスポンスタイムと似ているが、レスポンスタイムが処理結果が出始めるまでの時間であるのに対して、ターンアラウンドタイムは処理結果が出割るまでの時間。


[参考]
第8回 性能テスト:ソフトウェアテスト基本テクニック|gihyo.jp … 技術評論社
itarchitect.jp
実例で学ぶWebシステムのチューニング手法 | 技術トピックス | ウルシステムズ株式会社
http://www.jtw.zaq.ne.jp/kayakaya/new/kihon/text/seino.htm
DBマガジン 2009年7月号 特集2 性能問題を未然に防ぎ安定運用を目指すLinux-DBシステム負荷テストのオキテ 松信嘉範