この特集のトップページへ

9.2.2 性能目標

 システムやアプリケーションの性能目標には,いくつかの異なる指標が存在する。その代表例といえるのが,応答時間*1とスループットである。

 応答時間とは,「ユーザーが任意の情報を要求してから処理結果を視覚的に確認できるまでに要する時間」のことであり,これを指標とした場合の性能目標とは,「応答時間を許容範囲内に抑えること」となる。一般的に,オンライントランザクション処理では2〜3秒以内が求められる。

 これに対してスループットとは,「ある時間内にサーバーが処理できるトランザクション数」のことであり,これを指標とした場合の性能目標とは「すべてのユーザーに対するスループットを最大にすること」となる。一般的にスループットは,1秒間に何件のトランザクション処理を実行できるかで表される。いい換えれば,「何人のユーザーからの要求に同時に応えられるか」ということである。

 現実のシステムでは,上記の指標のうち,どちらかの性能目標だけを達成すればよいというわけにはゆかないかもしれない。たとえば,クライアントでクエリの実行結果を待っている個々のユーザーは「応答時間が重要である」というだろうし,サーバーを管理しているデータベース管理者は「個々のユーザーへの応答時間よりも,すべてのユーザーに等しくサービスするためにサーバーのスループットを最大にすることが重要である」と答えるかもしれない。もちろん,アプリケーションの特性によっても,この問題への解答は異なるであろう。一般的には,両方の要件をある程度満たす妥協点が目標とされる。

 性能目標を決定する,あるいは性能をチューニングするためには,システムの性能にかかわる情報をできるだけ収集して問題点を明確にし,目標達成のための解決策とそれにかかるコストを評価しなければならない。すなわち,解決策は達成される性能に見合うコストで実現しなければならない。また,選択によっては,トレードオフ*2が発生する。したがって,トレードオフや実現コストを考慮したうえで,性能目標値を決定しなければならない。


  1. 応答時間は,「レスポンス時間」または「レスポンスタイム」などと呼ばれることもある。
  2. 「妥協を伴う取引」を意味する。排他的な関係にある2つの事象のうち,どちらか片方のみを優先させ,もう片方を諦める(または優先度を下げる)ことを指す。システム開発において,設計者は頻繁にトレードオフを求められる。トレードオフについて考える場合,排他的な関係にある2つの事象のどちらを優先させるのかも重要であるが,それ以上に「両者がトレードオフの関係であることを認識すること」が重要となる。
前へ Chapter 9 4/46 次へ