(57)【特許請求の範囲】
【請求項１】
自身のリソースを使用したときのリソース使用量を所定の時間間隔で計測可能な少なくとも一つのサーバを含むシステムに、通信手段を介して接続可能なリソース使用量取得装置であって、
前記少なくとも一つのサーバに所定の機能を実行させる機能実行制御手段と、
前記機能を実行させる前のタイミングと後のタイミングの少なくとも何れか一のタイミングで、当該機能が実行されたときのリソース使用量を特定するための複数の規則性のあるインターバル区間を持った負荷を前記サーバに生成させる負荷生成制御手段と、
計測されたリソース使用量、及び各前記リソース使用量に対応付けられた時間情報を前記システムから取得するリソース使用量取得手段と、
を備えることを特徴とするリソース使用量取得装置。
【請求項２】
請求項１に記載のリソース使用量取得装置において、
前記負荷は、前記サーバにおけるＣＰＵを９５％以上使用させる負荷であることを特徴とするリソース使用量取得装置。
【請求項３】
請求項１又は２に記載のリソース使用量取得装置において、
前記負荷は、乱数生成プログラムにより生成されることを特徴とするリソース使用量取得装置。
【請求項４】
請求項１乃至３の何れか一項に記載のリソース使用量取得装置において、
前記機能実行制御手段は、互いに異なる複数の機能を連続して前記サーバに実行させ、
前記負荷生成制御手段は、各前記機能を実行させる前のタイミングと後のタイミングの少なくとも何れか一のタイミングで、前記負荷を前記サーバに生成させるものであって、
前記負荷は、前記機能毎に区別可能な固有の負荷であることを特徴とするリソース使用量取得装置。
【請求項５】
請求項４に記載のリソース使用量取得装置において、
前記インターバル区間の時間間隔は、前記機能毎に異なることを特徴とするリソース使用量取得装置。
【請求項６】
請求項４又は５に記載のリソース使用量取得装置において、
前記負荷の回数は、前記機能毎に異なることを特徴とするリソース使用量取得装置。
【請求項７】
請求項１乃至６の何れか一項に記載のリソース使用量取得装置において、
前記機能を実行させる前のタイミングと後のタイミングの双方のタイミングで、前記負荷を前記サーバに生成させることを特徴とするリソース使用量取得装置。
【請求項８】
請求項１乃至７の何れか一項に記載のリソース使用量取得装置において、
前記取得されたリソース使用量及び時間情報のうち、前記負荷に対応するリソース使用量及びその時間情報に基づいて、前記機能が実行されたときのリソース使用量を特定するリソース使用量特定手段と、
前記特定されたリソース使用量に基づいて、前記サーバの性能を予測するためのパラメータ値を算出する評価値算出手段と、
を更に備えることを特徴とするリソース使用量取得装置。
【請求項９】
請求項１乃至７の何れか一項に記載のリソース使用量取得装置において、
前記取得されたリソース使用量及び時間情報を表示させる表示制御手段と、
前記表示されたリソース使用量及び時間情報のうち、前記負荷に対応するリソース使用量及びその時間情報に基づいてユーザにより指定された、前記機能が実行されたときのリソース使用量を特定するリソース使用量特定手段と、
前記特定されたリソース使用量に基づいて、前記サーバの性能を予測するためのパラメータ値を算出する評価値算出手段と、
を更に備えることを特徴とするリソース使用量取得装置。
【請求項１０】
自身のリソースを使用したときのリソース使用量を所定の時間間隔で計測可能な少なくとも一つのサーバを含むシステムに、通信手段を介して接続可能なコンピュータにより実行されるリソース使用量取得方法であって、
前記少なくとも一つのサーバに所定の機能を実行させる工程と、
前記機能を実行させる前のタイミングと後のタイミングの少なくとも何れか一のタイミングで、当該機能が実行されたときのリソース使用量を特定するための複数の規則性のあるインターバル区間を持った負荷を前記サーバに生成させる工程と、
計測されたリソース使用量、及び各前記リソース使用量に対応付けられた時間情報を前記システムから取得する工程と、
を備えることを特徴とするリソース使用量取得方法。
【請求項１１】
自身のリソースを使用したときのリソース使用量を所定の時間間隔で計測可能な少なくとも一つのサーバを含むシステムに、通信手段を介して接続可能なコンピュータを、
前記少なくとも一つのサーバに所定の機能を実行させる機能実行制御手段、
前記機能を実行させる前のタイミングと後のタイミングの少なくとも何れか一のタイミングで、当該機能が実行されたときのリソース使用量を特定するための複数の規則性のあるインターバル区間を持った負荷を前記サーバに生成させる負荷生成制御手段、及び、
計測されたリソース使用量、及び各前記リソース使用量に対応付けられた時間情報を前記システムから取得するリソース使用量取得手段として機能させることを特徴とするリソース使用量取得プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、自身のリソースを使用したときのリソース使用量を所定の時間間隔で計測可能な少なくとも一つのサーバを含むシステムに通信手段を介して接続可能なリソース使用量取得装置等の技術分野に関する。
【背景技術】
【０００２】
従来から、例えばあるシステムにおけるＷｅｂサーバやＤＢ（データベース）サーバ等の性能を予測するためのパラメータ値として、性能単価が知られている。性能単価は、例えばある機能（トランザクション）を１回だけ実行するために必要な各サーバのリソース使用量を意味しており、かかる性能単価を性能予測シミュレーションツール（システム）に与えると、当該サーバの性能を予測することができ、これにより性能要件を満たす最適なシステム構成を導き出すことができる。なお、上記機能の例としては、あるＥＣサイトにおける、商品購入処理に係る機能、商品検索処理に係る機能、会員登録処理に係る機能等が挙げられる。
【０００３】
このような性能単価は、ある機能が実行されたときに所定の時間間隔で計測されたリソース使用量に基づいて算出することができる。
【０００４】
図１４は、ある機能が１回実行された時の、クライアント、Ｗｅｂサーバ、及びＤＢサーバ間におけるリクエストとレスポンスのやり取りの一例を示す図である。図１４の例では、Ｗｅｂサーバは、クライアントからのリクエスト（例えば、ＨＴＴＰ（HyperText Transfer Protocol）に基づくリクエスト）に応じて当該リクエストに係る機能を実行し、ＤＢサーバに対してリクエストを行っている。そして、ＤＢサーバは、Ｗｅｂサーバからのリクエストに応じて、当該リクエストに係る機能を実行し、Ｗｅｂサーバに対してレスポンスを行い、当該レスポンスに応じて、Ｗｅｂサーバは、残りの機能を実行しクライアントに対してレスポンスを行っている。Ｗｅｂサーバ及びＤＢサーバでは、このような機能を実行する前から所定の時間間隔でリソース使用量を計測し記憶することができ、当該機能を実行している間のリソース使用量も記憶される。
【０００５】
図１５は、Ｗｅｂサーバ及びＤＢサーバにおいて１秒間隔で計測されたリソース使用量の一例を示す図である。図１５の例では、リソース使用量として、ＣＰＵ使用率（usr及びsys）が１秒間隔で表されており、１１時２５分１０秒（11:25:00）から１１時２５分１４秒（11:25:14）までが、ある機能が１回実行された時間範囲（破線内）を示す。
【０００６】
従来においては、図１５に示すような、ある機能が１回実行された時間範囲内のＣＰＵ使用率を作業者が操作部を用いて（つまり、手作業で）指定し、当該指定されたＣＰＵ使用率に基づき（ＣＰＵ使用率を積算するなどの計算を行い）性能単価を得ていた。しかし、このような手作業では、計測数が増加すると作業量が膨大になり、また、ヒューマンエラーにより性能単価の計算ミス等が発生する可能性があるため、作業工程の削減とヒューマンエラーを防ぎ、算出される性能単価の精度を向上させるためには、作業工程の全部又は一部を自動化することが必要である。例えば、図１５に示すような数字の羅列から、ある機能が実行されたときのＣＰＵ使用率を、当該機能を実行した時間で自動的に切り出すことが可能であるが、時間で切り出すためには、クライアント、及び各サーバ間で時刻の同期がとれて（図れて）いることが前提となる。
【０００７】
図１６は、時刻の同期がとれていない場合における、Ｗｅｂサーバ及びＤＢサーバにおいて１秒間隔で計測されたリソース使用量の一例を示す図である。図１６の例では、Ｗｅｂサーバにおける内部時刻が現在時刻から２秒遅れており、ＤＢサーバにおける内部時刻が現在時刻より４秒早い場合を示しており、ある機能を１１時２５分１０秒から１１時２５分１５秒で実行した場合に、この時間範囲でＣＰＵ使用率を切り出すと、本来切り出されるべき区間である時間範囲（太実線内）とのずれが生じ、その結果、正確な性能単価を算出できなくなってしまう。
【０００８】
このような問題を解決するため、特許文献１に開示された技術では、クライアントとサーバ間で測定開始のネゴシエーションを行うことにより、これらの装置間での時刻の同期をとるようになっている。また、特許文献２には、各端末間で内部時刻を同一に揃える技術が開示されている。
【０００９】
一方、時刻の同期がとれていなくても、例えば、リソース使用量の大きさを確認して、所定値以上のリソース使用量の範囲を切り出すことも考えられる。例えば、図１６の例において、０及びその付近にないＣＰＵ使用率の時間範囲で、当該ＣＰＵ使用率を切り出すことも可能である。
【特許文献１】特開平１０−２９３７４７号公報
【特許文献２】特開２００４−２１５２５号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかしながら、従来技術のように、計測開始前に時刻を合わせたとしても、計測数が多くなり計測時間も長くなってくると各サーバ間で次第に時刻のズレが生じてきてしまう。また、例えば、クライアント及び各サーバの設置場所が遠く離れているような場合（例えば、あるサーバが外国に設置）等、そもそも時刻の同期を完全にとることは困難である。
【００１１】
一方、リソース使用量の大きさを確認して、所定値以上のリソース使用量の範囲を切り出すような方法でも、例えば、複数の機能をインターバルを挟みつつ順次連続して実行させリソース使用量を計測する場合には、ある機能に関して、例えばＷｅｂサーバにおいて計測されたＣＰＵ使用率の時間範囲と、ＤＢサーバにおいて計測されたＣＰＵ使用率の時間範囲とが整合しない（異なる機能である）可能性もある。
【００１２】
本発明は、以上の点に鑑みてなされたものであり、各装置間において時刻の同期がとれているかどうかに関わらず、所定の機能を実行したときに計測されたリソース使用量の範囲を、機能毎に正確に特定することが可能なリソース使用量取得装置、リソース使用量取得方法、及びリソース使用量取得処理プログラムを提供することを課題とする。
【課題を解決するための手段】
【００１３】
上記課題を解決するために、請求項１に記載の発明は、自身のリソースを使用したときのリソース使用量を所定の時間間隔で計測可能な少なくとも一つのサーバを含むシステムに、通信手段を介して接続可能なリソース使用量取得装置であって、前記少なくとも一つのサーバに所定の機能を実行させる機能実行制御手段と、前記機能を実行させる前のタイミングと後のタイミングの少なくとも何れか一のタイミングで、当該機能が実行されたときのリソース使用量を特定するための複数の規則性のあるインターバル区間を持った負荷を前記サーバに生成させる負荷生成制御手段と、計測されたリソース使用量、及び各前記リソース使用量に対応付けられた時間情報を前記システムから取得するリソース使用量取得手段と、を備えることを特徴とする。
【００１５】
請求項２に記載の発明は、請求項１に記載のリソース使用量取得装置において、前記負荷は、前記サーバにおけるＣＰＵを９５％以上使用させる負荷であることを特徴とする。
【００１６】
請求項３に記載の発明は、請求項１又は２に記載のリソース使用量取得装置において、前記負荷は、乱数生成プログラムにより生成されることを特徴とする。
【００１７】
請求項４に記載の発明は、請求項１乃至３の何れか一項に記載のリソース使用量取得装置において、前記機能実行制御手段は、互いに異なる複数の機能を連続して前記サーバに実行させ、前記負荷生成制御手段は、各前記機能を実行させる前のタイミングと後のタイミングの少なくとも何れか一のタイミングで、前記負荷を前記サーバに生成させるものであって、前記負荷は、前記機能毎に区別可能な固有の負荷であることを特徴とする。
【００１８】
請求項５に記載の発明は、請求項４に記載のリソース使用量取得装置において、前記インターバル区間の時間間隔は、前記機能毎に異なることを特徴とする。
【００１９】
請求項６に記載の発明は、請求項４又は５に記載のリソース使用量取得装置において、前記負荷の回数は、前記機能毎に異なることを特徴とする。
【００２０】
請求項７に記載の発明は、請求項１乃至６の何れか一項に記載のリソース使用量取得装置において、前記機能を実行させる前のタイミングと後のタイミングの双方のタイミングで、前記負荷を前記サーバに生成させることを特徴とする。
【００２１】
請求項８に記載の発明は、請求項１乃至７の何れか一項に記載のリソース使用量取得装置において、前記取得されたリソース使用量及び時間情報のうち、前記負荷に対応するリソース使用量及びその時間情報に基づいて、前記機能が実行されたときのリソース使用量を特定するリソース使用量特定手段と、前記特定されたリソース使用量に基づいて、前記サーバの性能を予測するためのパラメータ値を算出する評価値算出手段と、を更に備えることを特徴とする。
【００２２】
請求項９に記載の発明は、請求項１乃至７の何れか一項に記載のリソース使用量取得装置において、前記取得されたリソース使用量及び時間情報を表示させる表示制御手段と、前記表示されたリソース使用量及び時間情報のうち、前記負荷に対応するリソース使用量及びその時間情報に基づいてユーザにより指定された、前記機能が実行されたときのリソース使用量を特定するリソース使用量特定手段と、前記特定されたリソース使用量に基づいて、前記サーバの性能を予測するためのパラメータ値を算出する評価値算出手段と、を更に備えることを特徴とする。
【００２３】
請求項１０に記載の発明は、自身のリソースを使用したときのリソース使用量を所定の時間間隔で計測可能な少なくとも一つのサーバを含むシステムに、通信手段を介して接続可能なリソース使用量取得方法であって、前記少なくとも一つのサーバに所定の機能を実行させる工程と、前記機能を実行させる前のタイミングと後のタイミングの少なくとも何れか一のタイミングで、当該機能が実行されたときのリソース使用量を特定するための複数の規則性のあるインターバル区間を持った負荷を前記サーバに生成させる工程と、計測されたリソース使用量、及び各前記リソース使用量に対応付けられた時間情報を前記システムから取得する工程と、を備えることを特徴とする。
【００２４】
請求項１１に記載のリソース使用量取得プログラムの発明は、自身のリソースを使用したときのリソース使用量を所定の時間間隔で計測可能な少なくとも一つのサーバを含むシステムに、通信手段を介して接続可能なコンピュータを、前記少なくとも一つのサーバに所定の機能を実行させる機能実行制御手段、前記機能を実行させる前のタイミングと後のタイミングの少なくとも何れか一のタイミングで、当該機能が実行されたときのリソース使用量を特定するための複数の規則性のあるインターバル区間を持った負荷を前記サーバに生成させる負荷生成制御手段、及び、計測されたリソース使用量、及び各前記リソース使用量に対応付けられた時間情報を前記システムから取得するリソース使用量取得手段として機能させることを特徴とする。
【発明の効果】
【００２５】
本発明によれば、上記サーバに所定の機能を実行させる前のタイミングと後のタイミングの双方のタイミングで、当該機能が実行されたときのリソース使用量を特定するための複数の規則性のあるインターバル区間を持った負荷を、当該機能が実行されるサーバに生成させるように構成したので、各装置間において時刻の同期がとれているかどうかに関わらず、上記負荷及び上記機能に係る負荷が生成されたときにサーバにおいて所定間隔で計測されたリソース使用量を含むリソース情報から、上記負荷に対応するリソース使用量及びその時間情報に基づいて、上記機能を実行したときに計測されたリソース使用量の範囲を自動的に正確に特定でき、当該特定されたリソース使用量から正確に性能単価を算出することができる。
【発明を実施するための最良の形態】
【００２６】
以下、本発明を実施するための最良の実施形態について、図面に基づいて説明する。なお、以下に説明する実施形態は、性能単価算出装置に対して本発明を適用した場合の実施形態である。
【００２７】
先ず、図１を参照して、性能単価算出装置等を含むシステムの構成及び機能について説明する。
【００２８】
図１は、性能単価算出装置を含むシステムの概要構成例を示す図である。
【００２９】
図１において、計測対象システム１は、Ｗｅｂサーバ１１、ＡＰＰ（アプリケーション）サーバ１２、及びＤＢサーバ１３を備えており、これらのサーバ（サーバコンピュータ）１１〜１３は、上述したリソース使用量の計測が行われる計測対象サーバとして位置付けられる。また、これらのサーバ１１〜１３は、夫々、通信手段としてのネットワークＮＷに接続されており、負荷生成端末２又は他のサーバ１１〜１３の何れかからのリクエスト（例えば、ＨＴＴＰに基づくリクエスト）に応じて当該リクエストに係る機能（以下、「トランザクション」という）を実行するようになっている。また、これらのサーバ１１〜１３は、ネットワークＮＷを介した性能単価算出装置３からのコマンドに応じて、自身のリソース（例えば、ＣＰＵ，ディスクＩ／Ｏ等）を使用したときのリソース使用量を所定の時間間隔で所定回数計測し、当該計測したリソース使用量を、その計測時刻を示す時間情報に対応付けて例えばハードディスクに記憶するようになっている。こうして記憶されたリソース使用量及び時間情報を含むデータは、性能単価算出装置３に提供される。なお、リソース使用量の計測は、サーバのＯ／ＳがUNIX（登録商標）であっても、Windows（登録商標）であっても可能であり、例えばUNIX（登録商標）の場合、ｓａｒコマンド（計測間隔及び計測回数を指定可能）が用いられる。
【００３０】
負荷生成端末２及び性能単価算出装置３は、ＣＰＵ（Central Processing Unit）等を主体として構成された処理部、各種データ及びプログラム（本発明のリソース使用量取得プログラムを含む）を記憶する記憶部（ハードディスクドライブ等）、各種情報を表示するディスプレイ等を有する表示部、操作者からの指示を受け付ける操作部（キーボード、マウス等）、及びインターネット等のネットワークＮＷに接続するための通信部等を備えて構成されている。なお、負荷生成端末２及び性能単価算出装置３には、汎用のパーソナルコンピュータを適用可能である。また、負荷生成端末２は、Ｗｅｂブラウザを有し、ネットワークＮＷを介してＷｅｂサーバ１１に接続してＨＴＴＰ通信を行うことができる。
【００３１】
また、性能単価算出装置３は、図示の如く情報が格納（登録）される、計測対象システム情報ＤＢ（データベース）３１、ＳＰＥＣ値ＤＢ３２、性能単価算出情報ＤＢ３３、性能単価計測情報ＤＢ３４、及び性能単価蓄積ＤＢ３５に例えばＬＡＮを介してアクセス可能になっている。これらのＤＢ３１〜３５は、例えばＮＡＳ（Network Attached Storage）として機能するデータベースサーバ内に構築されるか、或いは、性能単価算出装置３における記憶部に構築される。
【００３２】
そして、性能単価算出装置３の処理部は、ＣＰＵが記憶部に記憶されたプログラムを実行することにより、本発明における機能実行制御手段、負荷生成制御手段、リソース使用量取得手段、リソース使用量特定手段、評価値算出手段、及び表示制御手段等として機能するようになっている。
【００３３】
より具体的には、性能単価算出装置３の処理部は、計測対象システム１における少なくとも一つの計測対象サーバ、例えばＷｅｂサーバ１１及びＤＢサーバ１３に所定のトランザクションを実行させる。このとき、性能単価算出装置３の処理部は、互いに異なる複数のトランザクションを連続して当該計測対象サーバに実行させることができる。なお、当該トランザクションは、例えば負荷生成端末２からＷｅｂサーバ１１に対して当該トランザクションに関するリクエストを行わせることにより実行させる。
【００３４】
また、性能単価算出装置３の処理部は、当該トランザクションを実行させる前のタイミングと後のタイミングの双方のタイミングで、当該トランザクションが実行されたときのリソース使用量を特定するための目印となる負荷（以下、「目印負荷」という）を、当該トランザクションが実行される上記計測対象サーバ、例えばＷｅｂサーバ１１及びＤＢサーバ１３に生成させるようになっている。
【００３５】
ここで、当該目印負荷がトランザクションに係る負荷と全く異なる負荷でなければ、目印負荷によるリソース使用量と、トランザクションに係る負荷によるリソース使用量とを区別し、トランザクションが実行されたときのリソース使用量を特定することができない。そのため、本実施形態においては、トランザクションに係る負荷では発生することが無い、例えば複数の規則性のあるインターバル区間を持った負荷（例えば鋸型の負荷）を上記目印負荷として生成させるようになっている。
【００３６】
また、当該目印負荷は、例えば乱数生成プログラム（その他のプログラムでも構わない）によって生成されるＣＰＵ負荷とし、計測対象サーバにおけるＣＰＵを９５％以上（本実施形態では、１００％）使用させる負荷（ＣＰＵ使用率（負荷率）が１００％）となるように設定される。
【００３７】
更に、当該目印負荷は、計測対象の複数のトランザクション毎に区別可能な固有の（ユニークな）負荷となるように設定される。例えば上記インターバル区間の時間間隔をトランザクション毎に異ならせたり、当該目印負荷の回数をトランザクション毎に異ならせることにより、上記固有の目印負荷が生成される。このようなトランザクション毎に固有の目印負荷は、各トランザクションを実行させる前のタイミングと後のタイミングの双方のタイミングで生成されるように設定される。
【００３８】
このような目印負荷は、例えば負荷関数で定義され、性能単価算出装置３の処理部が当該負荷関数を上記計測対象サーバに送信することにより、当該目印負荷を上述したタイミングで当該計測対象サーバ、例えばＷｅｂサーバ１１及びＤＢサーバ１３に生成させることとなる。かかる負荷関数は、例えば「spike（SPEC_Cint2000, int x, int y, int z）;」というように設定される。ここで、「SPEC_Cint2000」は、サーバの性能指標を表す値であり、上記負荷関数には、計測対象サーバの「SPEC_Cint2000」の値が記述される。この値を指定することで、各計測対象サーバの性能（例えば、処理速度）が異なっても、各計測対象サーバは、ＣＰＵ使用率が１００％となる負荷を生成することとなる。また、「int x, int y, int z」は、上記インターバル区間の時間間隔及び回数（目印負荷生成の回数でもある）を表し（以下、「特定情報」と称する）、この例では、３回のインターバル区間夫々の時間間隔を定義することができる。なお、「SPEC_Cint2000」の値は、サーバ機種名及びＣＰＵ周波数をキーとしてＳＰＥＣ値ＤＢ３２から取得される。
【００３９】
図２は、ある計測対象サーバにおいて、「spike（246, 3, 5, 12）;」と設定された負荷関数（spike関数）に基づく目印負荷が、トランザクションＡが実行される前後の夫々のタイミングで生成された様子を示す図である。図２の例より、トランザクションＡが実行される前後に、２秒間ＣＰＵを１００％使用する目印負荷（鋸型の負荷）が３回発生していることが分かる。１回当たりの目印負荷の時間間隔は、できるだけ短い方が良いが、当該目印負荷が発生したときのＣＰＵ使用率が確実に計測されるようにするためには、図２の例のように、２秒間程度とすることが望ましい。また、特定情報（3, 5, 12）（つまり、３秒、５秒、１２秒のインターバル区間の時間間隔）における値及び個数（回数）は、例えばトランザクションＡの名称等から算出可能である。なお、図２の例では、計測対象サーバのサーバ機種名が「サーバＡ」、ＣＰＵ周波数が「650MHz」、搭載ＣＰＵ数が「１」（個）の構成であり、かかる構成よりSPEC_Cint2000は「246」として特定されている。
【００４０】
そして、性能単価算出装置３の処理部は、計測対象サーバにおいて目印負荷が生成されたとき、及びトランザクションが実行されたときに計測されたリソース使用量及びその計測時刻を示す時間情報を計測対象システム１から取得し、取得したリソース使用量及び時間情報のうち、目印負荷に対応するリソース使用量及びその時間情報に基づいて、計測対象のトランザクションが実行されたときのリソース使用量（つまり、リソース使用量の範囲）を特定するようになっている。例えば、図２の例で言えば、目印負荷５１及び５２に対応するＣＰＵ使用率及びその時間情報から算出されるインターバル区間の時間間隔が処理部により認識され、当該認識された目印負荷５１と５２に挟まれる時間範囲にあるＣＰＵ使用率が、計測対象のトランザクションＡが実行されたときのＣＰＵ使用率として特定される。こうして特定されたリソース使用量に基づいて、計測対象サーバの性能を予測するためのパラメータ値としての性能単価が算出されることになる。
【００４１】
次に、性能単価算出装置等を含むシステムの動作について説明する。
【００４２】
先ず、図３乃至図７を参照して、リソース使用量取得の際における動作について説明する。
【００４３】
図３乃至図７は、性能単価算出装置３の処理部におけるリソース使用量取得処理を示すフローチャート、及び当該処理において各ＤＢに格納される情報例を示す図である。
【００４４】
図３の処理は、例えば、性能単価算出装置３の操作者からのリソース使用量取得指示が操作部を介してあった場合に開始される。なお、以下の処理では、リソース使用量としてＣＰＵ使用率を例にとって説明する。
【００４５】
先ず、図３に示すステップＳ１では、性能単価算出装置３の処理部は、計測対象システム１における各計測対象サーバ（例えば、Ｗｅｂサーバ１１及びＤＢサーバ１３）の情報を取得する。例えば性能単価算出装置３から計測対象システム１にログインし、計測対象サーバのサーバ機種名、ＣＰＵ周波数、及び搭載ＣＰＵ数が取得される。
【００４６】
次いで、図３に示すステップＳ２では、性能単価算出装置３の処理部は、各計測対象サーバのサーバＩＤに対応付けて、上記取得されたサーバ機種名、ＣＰＵ周波数、及び搭載ＣＰＵ数を計測対象システム情報ＤＢ３１に格納する。なお、サーバＩＤは、例えば処理部により自動生成される。
【００４７】
次いで、図４に示すステップＳ３では、性能単価算出装置３の処理部は、計測対象サーバのSPEC_Cint2000の値を、例えば計測対象サーバのサーバ機種名及びＣＰＵ周波数をキーとしてＳＰＥＣ値ＤＢ３２から取得し、計測対象システム情報ＤＢ３１に格納する。
【００４８】
次いで、図４に示すステップＳ４では、性能単価算出装置３の処理部は、計測対象のトランザクションのトランザクション名を記載したリストを例えば記憶部から読み込み、各計測対象サーバのサーバＩＤに対応付けて、上記リストに記載されたトランザクション名、及びトランザクションＩＤを性能単価算出情報ＤＢ３３に格納する。なお、トランザクションＩＤは、例えば処理部により自動生成される。
【００４９】
次いで、図５に示すステップＳ５では、性能単価算出装置３の処理部は、性能単価算出情報ＤＢ３３に格納されたトランザクション名等から、上述した特定情報（int x, int y, int z）を算出し、当該特定情報をトランザクション名等に対応付けて、性能単価算出情報ＤＢ３３に格納する。
【００５０】
ここで、特定情報は、例えば、トランザクション名とＩＤ等からユニークな数字の組み合わせとして算出されるものであり、例えば「hash（トランザクションＩＤ，サーバＩＤ，トランザクション名，int x）;」というhash関数で算出される。このhash関数は、トランザクションＩＤ，サーバＩＤ，トランザクション名，及びint x（変数、任意の数が代入される）の組をハッシュ化してｘ個の数字を生成するものである。なお、特定情報は、トランザクション毎に異なるようにテーブル（記憶部に記憶）に予め規定しておき、上記ステップＳ５において、トランザクション名等に対応する特定情報が当該テーブルから読み込まれるように構成しても良い。
【００５１】
次いで、図６に示すステップＳ６では、性能単価算出装置３の処理部は、計測対象の各トランザクションを実行するためのリクエストを負荷生成端末２から計測対象サーバに送信させることにより、計測対象サーバに当該各トランザクションを実行させ、当該各トランザクションが実行された計測対象サーバでＣＰＵ使用率が可視化（例えば、５％以上）される実行回数を計測させ、当該実行回数を計測対象サーバから取得し、これをトランザクション名等に対応付けて、性能単価算出情報ＤＢ３３に格納する。
【００５２】
ここで、実行回数は、ＣＰＵ使用率の計測時にＣＰＵ使用率を見える値にするため（例えば、ＣＰＵ使用率が５％未満では０％として認識される）のものである。この実行回数を計測させるために、例えば「visual（トランザクション名，int x）;」というvisual関数が使用される。このvisual関数は、トランザクション名に対応するトランザクションをｘ回実行した時のＣＰＵ使用率を返すものである。例えば、Ｗｅｂサーバ１１、ＡＰＰサーバ１２、及びＤＢサーバ１３の３層のシステム構成の場合、トランザクションを実行した時に各サーバでＣＰＵ使用率が５％を超えるまで、visual関数をループし、ＣＰＵ使用率が５％を各サーバで超えた回数が上記実行回数として性能単価算出装置３に返される。
【００５３】
次いで、図７に示すステップＳ７では、性能単価算出装置３の処理部は、各計測対象サーバにリソース使用量取得設定をさせる。例えば性能単価算出装置３から計測対象システム１にログインし、計測対象サーバにＣＰＵ使用率の取得を１秒間隔で実行させるように設定する。
【００５４】
次いで、図７に示すステップＳ８では、性能単価算出装置３の処理部は、性能単価算出情報ＤＢ３３から一つのトランザクション（例えば、登録順に）を選定し、計測対象システム１における各計測対象サーバに目印負荷を生成させる。例えば、上述したような負荷関数（spike関数）を各計測対象サーバへ送り込むことにより、目印負荷を生成させる。なお、負荷関数（spike関数）には、計測対象システム情報ＤＢ３１に格納された上記SPEC_Cint2000と、性能単価算出情報ＤＢ３３に格納された特定情報とがセットされ、各計測対象サーバでは、SPEC_Cint2000及び特定情報を引数として負荷関数（spike関数）を実行することになる。
【００５５】
次いで、図７に示すステップＳ９では、性能単価算出装置３の処理部は、上記選定した計測対象のトランザクションを実行するためのリクエスト（上記性能単価算出情報ＤＢ３３に格納された実行回数を含む）を負荷生成端末２から計測対象サーバに送信させることにより、各計測対象サーバにトランザクションを実行回数分実行させ、当該トランザクションに係る負荷を生成させる。
【００５６】
次いで、図７に示すステップＳ１０では、性能単価算出装置３の処理部は、上記ステップＳ８と同様、計測対象システム１における各計測対象サーバに目印負荷を生成させる。
【００５７】
次いで、図７に示すステップＳ１１では、性能単価算出装置３の処理部は、例えば性能単価算出情報ＤＢ３３に格納された情報を参照し、計測対象の全てのトランザクションに係る負荷を生成させたか否かを判定し、計測対象の全てのトランザクションに係る負荷を生成させていない場合には（ステップＳ１１：ＮＯ）、ステップＳ８に戻り、他のトランザクションに関して上記と同様の処理を行い、計測対象の全てのトランザクションに係る負荷を生成させた場合には（ステップＳ１１：ＹＥＳ）、ステップＳ１２に進む。
【００５８】
次いで、図７に示すステップＳ１２では、性能単価算出装置３の処理部は、各計測対象サーバにおいて計測されたＣＰＵ使用率及びその計測時刻を示す時間情報を含むリソース情報を格納したファイルを計測対象システム１から取得して記憶部に記憶し、当該ファイルのパスをサーバＩＤに対応付けて性能単価計測情報ＤＢ３４に格納し、当該処理を終了する。
【００５９】
次に、図８乃至図９を参照して、性能単価算出の際における動作について説明する。
【００６０】
図８乃至図９は、性能単価算出装置３の処理部における性能単価算出処理を示すフローチャート、及び当該処理において各ＤＢに格納される情報例を示す図である。
【００６１】
図８の処理は、例えば、上記ステップＳ１２の処理終了後に開始される。
【００６２】
先ず、図８に示すステップＳ１３では、性能単価算出装置３の処理部は、性能単価算出情報ＤＢ３３に格納された情報（トランザクションＩＤ、サーバＩＤ、トランザクション名、特定情報、及び実行回数）、及び上記ステップＳ１２で記憶されたリソース情報を取得する。なお、取得されたリソース情報に含まれるＣＰＵ使用率及びその計測時刻を示す時間情報は、ＲＡＭ上に展開されリスト化される。
【００６３】
次いで、図８に示すステップＳ１４では、性能単価算出装置３の処理部は、一つのトランザクション（例えば、登録順に）を選定し、リソース情報に含まれるＣＰＵ使用率及びその計測時刻を示す時間情報のリスト（リソース情報のリスト）を参照して、当該トランザクションに対応する特定情報に示される例えば３つのインターバル区間の時間間隔と一致する箇所を検索し、計測対象のトランザクションが実行されたときのリソース使用量の範囲（言い換えれば、計測対象のトランザクションが実行されたときの期間）を特定する。
【００６４】
次いで、図８に示すステップＳ１５では、性能単価算出装置３の処理部は、上記特定したリソース使用量の範囲のスタート行Ｓ（「前」の最終のライン）とエンド行Ｅ（「後」の最初のライン）を、切り出し位置（Ｓ，Ｅ）として性能単価算出情報ＤＢ３３に格納する。なお、最初のトランザクションは、最初の行から検索開始され、次以降のトランザクションは、前のトランザクションの切り出し位置に格納されているエンド行Ｅから検索開始される。
【００６５】
ここで、図１０を参照して、あるトランザクションに関するスタート行Ｓの切り出し処理についてより詳しく説明する。図１０（Ａ）は、スタート行Ｓの切り出し処理において、あるトランザクションに関して性能単価算出情報ＤＢ３３に格納された情報の一例を示す図であり、図１０（Ｂ）は、図１０（Ａ）に示されるトランザクションに対応するリソース情報を含むリソース情報のリストを示す図である。なお、図１０（Ｂ）において、「line」は行を表し、「usr」はユーザ操作によるＣＰＵ使用率（％）を表し、「sys」はＯ／ＳによるＣＰＵ使用率（％）を表し、「wio」は待ち時間（例えばディスクからファイルを読み込み中のＣＰＵ待機時間）を表し、「idle」はアイドル（ＣＰＵが使用されていない）率（％）を表している。
【００６６】
スタート行Ｓの切り出し処理においては、判別される配列Ａ［ｉ］と変数Ｘが定義される。そして、リソース情報のリストにおける指定位置から走査（図１０の走査方向（正方向）、つまり、先頭行から最終行に向かって走査）が開始され、最初の「idle」が０％の行が検索され、配列Ａ［０］に格納される。例えば、図１０（Ｂ）の例では、検索される行は「１１３４」であり、当該行が配列Ａ［０］＝１１３４として格納される。なお、「idle」が０％の行を検索する代わりに「usr」が１００％の行を検索するようにしても良い（以下同様）。また、図１０（Ｂ）において、１〜３回目の目印負荷に相当する範囲（破線内）では、「idle」が２０％、０％、８０％となっておりトータルが１００％になるが、「idle」が例えば０％、０％、１００％となる場合もありうる。
【００６７】
続いて、性能単価算出情報ＤＢ３３における特定情報（例えば、（5,6,5））の１番目の値（インターバル区間の時間間隔）が取り出されて変数Ｘに格納され、当該変数Ｘ行分を上記配列Ａ［０］に格納された行から走査され、走査後に「idle」が０％の行が検索され、配列Ａ［１］に格納される。例えば、図１０（Ｂ）の例では、「１１３４」から「５」行分正方向に走査された後、６行目に「idle」が０％の行「１１４０」が検索され、当該行が配列Ａ［１］＝１１４０として格納される。
【００６８】
続いて、性能単価算出情報ＤＢ３３における特定情報の２番目の値（インターバル区間の時間間隔）が取り出されて変数Ｘに格納され、当該変数Ｘ行分を上記配列Ａ［１］に格納された行から走査され、走査後に「idle」が０％の行が検索され、配列Ａ［２］に格納される。例えば、図１０（Ｂ）の例では、「１１４０」から「６」行分正方向に走査された後、７行目に「idle」が０％の行「１１４７」が検索され、当該行が配列Ａ［２］＝１１４７として格納される。
【００６９】
続いて、性能単価算出情報ＤＢ３３における特定情報の３番目の値（インターバル区間の時間間隔）が取り出されて変数Ｘに格納され、当該変数Ｘ行分を上記配列Ａ［２］に格納された行から走査され、当該変数Ｘ行目の行が、切り出し位置のスタート行Ｓとして格納される。例えば、図１０（Ｂ）の例では、「１１４７」から「５」行目の「１１５２」の行が切り出し位置のスタート行Ｓとして格納される。
【００７０】
次に、図１１を参照して、あるトランザクションに関するエンド行Ｅの切り出し処理についてより詳しく説明する。図１１（Ａ）は、エンド行Ｅの切り出し処理において、あるトランザクションに関して性能単価算出情報ＤＢ３３に格納された情報の一例を示す図であり、図１１（Ｂ）は、図１１（Ａ）に示されるトランザクションに対応するリソース情報を含むリソース情報のリストを示す図である。
【００７１】
エンド行Ｅの切り出し処理においては、判別される配列Ｂ［ｊ］と変数Ｘが定義される。そして、リソース情報のリストにおける指定位置から走査（図１１の走査方向（逆方向）、つまり、最終行から先頭行に向かって走査）が開始され、最初の「idle」が０％の行が検索され、配列Ｂ［０］に格納される。例えば、図１１（Ｂ）の例では、検索される行は「１１７３」であり、当該行が配列Ｂ［０］＝１１７３として格納される。
【００７２】
続いて、性能単価算出情報ＤＢ３３における特定情報（例えば、（5,6,5））の１番目の値（インターバル区間の時間間隔）が取り出されて変数Ｘに格納され、当該変数Ｘ行分を上記配列Ｂ［０］に格納された行から走査され、走査後に「idle」が０％の行が検索され、配列Ｂ［１］に格納される。例えば、図１１（Ｂ）の例では、「１１７３」から「５」行分逆方向に走査された後、６行目に「idle」が０％の行「１１６７」が検索され、当該行が配列Ｂ［１］＝１１６７として格納される。
【００７３】
続いて、性能単価算出情報ＤＢ３３における特定情報の２番目の値（インターバル区間の時間間隔）が取り出されて変数Ｘに格納され、当該変数Ｘ行分を上記配列Ｂ［１］に格納された行から走査され、走査後に「idle」が０％の行が検索され、配列Ｂ［２］に格納される。例えば、図１１（Ｂ）の例では、「１１６７」から「６」行分走査された後、７行目に「idle」が０％の行「１１６０」が検索され、当該行が配列Ｂ［２］＝１１６０として格納される。
【００７４】
続いて、性能単価算出情報ＤＢ３３における特定情報の３番目の値（インターバル区間の時間間隔）が取り出されて変数Ｘに格納され、当該変数Ｘ行分を上記配列Ｂ［２］に格納された行から走査され、当該変数Ｘ行目の行が、切り出し位置のエンド行Ｅとして格納される。例えば、図１１（Ｂ）の例では、「１１６０」から「５」行目の「１１５５」の行が切り出し位置のエンド行Ｅとして格納される。
【００７５】
以上のように、あるトランザクションに対応する切り出し位置（Ｓ，Ｅ）が性能単価算出情報ＤＢ３３に格納されると、図８に示すステップＳ１６では、性能単価算出装置３の処理部は、計測対象の全てのトランザクションに対応する切り出し位置（Ｓ，Ｅ）が格納されたか否かを判定し、計測対象の全てのトランザクションに対応する切り出し位置（Ｓ，Ｅ）が格納されていない場合には（ステップＳ１６：ＮＯ）、ステップＳ１４に戻り、他のトランザクションに関して上記と同様の処理を行い、計測対象の全てのトランザクションに対応する切り出し位置（Ｓ，Ｅ）が格納された場合には（ステップＳ１６：ＹＥＳ）、ステップＳ１７に進む。
【００７６】
図９に示すステップＳ１７では、性能単価算出装置３の処理部は、一つのトランザクション（例えば、登録順に）を選定し、当該トランザクションに対応する切り出し位置（Ｓ，Ｅ）で囲まれたＣＰＵ使用率（例えば、図１１（Ｂ）に示す「usr」及び「sys」）を抽出し、これらの使用率の合計値を算出する。例えば、図１１（Ｂ）の例では、切り出し位置（１１５２，１１５５）に囲まれるＣＰＵ使用率の合計値は、１５７（％）となる。
【００７７】
次いで、図９に示すステップＳ１８では、性能単価算出装置３の処理部は、ＣＰＵ使用率の合計値を［％］単位から［msec］単位に変換する（合計値（％）×１０＝合計値（msec））。上述したリソース使用量は、例えば１秒間隔で取得した［％］単位であるため、これを［msec］単位に変換するのである。
【００７８】
次いで、図９に示すステップＳ１９では、性能単価算出装置３の処理部は、当該トランザクションが実行された計測対象サーバのサーバＩＤに対応付けられて計測対象システム情報ＤＢ３１に格納されているＣＰＵ搭載数と、上記ＣＰＵ使用率の合計値（msec）とを乗算し、１ＣＰＵ分の処理時間を算出する（ＣＰＵ使用率の合計値（msec）×ＣＰＵ搭載数＝１ＣＰＵ分の処理時間（msec））。これは、複数のＣＰＵが搭載された計測対象サーバで計測されたリソース使用量は複数のＣＰＵ分での値として計測されるので、１ＣＰＵ分の値とするためである（性能単価は、１回トランザクションを実行した場合に１ＣＰＵが消費するリソース使用量）。
【００７９】
次いで、図９に示すステップＳ２０では、性能単価算出装置３の処理部は、上記算出された１ＣＰＵ分の処理時間を当該トランザクションに対応する実行回数で徐算することにより性能単価を算出する（１ＣＰＵ分の処理時間（msec）／実行回数＝性能単価）。これは、計測時にＣＰＵ使用率が見える値にするためにトランザクションを複数回実行した場合、上記算出された１ＣＰＵ分の処理時間（msec）は、複数回トランザクションを実行した値になっているので、１回実行した場合の値とするためである。
【００８０】
次いで、図９に示すステップＳ２１では、性能単価算出装置３の処理部は、算出された性能単価を、対応するトランザクションＩＤに対応付けて性能単価蓄積ＤＢ３５に格納する。
【００８１】
そして、図９に示すステップＳ２２では、性能単価算出装置３の処理部は、計測対象の全てのトランザクションについての性能単価が算出、格納されたか否かを判定し、計測対象の全てのトランザクションについての性能単価が算出、格納されていない場合には（ステップＳ２２：ＮＯ）、ステップＳ１７に戻り、他のトランザクションに関して上記と同様の処理を行い、計測対象の全てのトランザクションについての性能単価が算出、格納された場合には（ステップＳ２２：ＹＥＳ）、当該処理を終了する。
【００８２】
以上のように算出格納された性能単価は、性能予測シミュレーションツール（システム）入力され、これにより、計測対象サーバの性能を予測することができ、性能要件を満たす最適なシステム構成を導き出すことができる。
【００８３】
以上説明したように、上記実施形態によれば、計測対象サーバにトランザクションを実行させる前のタイミングと後のタイミングの双方のタイミングで、当該トランザクションが実行されたときのリソース使用量を特定するための目印負荷（トランザクションに係る負荷と区別できる負荷）を、当該トランザクションが実行される上記計測対象サーバに生成させるように構成したので、各装置間において時刻の同期がとれているかどうかに関わらず、目印負荷及びトランザクションに係る負荷が生成されたときに計測対象サーバにおいて所定間隔で計測されたリソース使用量を含むリソース情報から、上記目印負荷に対応するリソース使用量及びその時間情報に基づいて、トランザクションを実行したときに計測されたリソース使用量の範囲を自動的に正確に特定でき、当該特定されたリソース使用量から正確に性能単価を算出することができる。
【００８４】
しかも、上記目印負荷は、複数の規則性のあるインターバル区間を持った負荷とし、当該インターバル区間の時間間隔をトランザクション毎に異ならせたり、負荷の回数をトランザクション毎に異ならせることにより、トランザクション毎にユニークな負荷とすることで、複数の異なるトランザクションを連続して計測対象サーバに実行させたときであっても、各トランザクションを実行したときに計測されたリソース使用量の範囲を、各トランザクション毎に自動的に正確に特定でき、各トランザクションに対応する性能単価を正確に算出することができる。
【００８５】
なお、上記実施形態においては、計測対象サーバにトランザクションを実行させる前のタイミングと後のタイミングの双方のタイミングで目印負荷を上記計測対象サーバに生成させるように構成したことにより、リソース使用量を切り出す区間を最小限に特定でき、余分な計算をしなくても良いという利点があるが、計測対象サーバにトランザクションを実行させる前のタイミングと後のタイミングの何れか一方のタイミング（例えば、後のタイミング。複数のトランザクションを連続的に実行させる場合、トランザクション間に目印負荷が生成されることになる）で目印負荷を上記計測対象サーバに生成させるように構成しても良い。ただし、トランザクションを実行させる前のタイミングで目印負荷（これを、「前目印負荷」という）を上記計測対象サーバに生成させる場合、計測対象の最後のトランザクションのエンド行を特定できないという問題が生じる。一方、トランザクションを実行させる後のタイミングで目印負荷（これを、「後目印負荷」という）を上記計測対象サーバに生成させる場合、計測対象の最初のトランザクションのスタート行を特定できないという問題が生じる。これらの問題に対応するためには、計測対象の全トランザクションを挟む形でスタート目印負荷とエンド目印負荷を追加して上記計測対象サーバに生成させるように構成すれば良い。
【００８６】
図１２は、前目印負荷に加えてスタート目印負荷とエンド目印負荷が計測対象サーバに生成された様子を示す図である。図１２に示すように、各トランザクションの前に前目印負荷を生成させた場合、トランザクションＡのスタート行(a)は、上述したように、正方向から走査して前の目印負荷である「トランザクションＡ前目印負荷」から特定され、
トランザクションＡのエンド行(b)は、上述したように、逆方向から走査して後の目印負荷である「トランザクションＢ前目印負荷」から特定される。また、トランザクションＢのスタート行(c)は、正方向から走査して前の目印負荷である「トランザクションＢ前目印負荷」から特定され、トランザクションＢのエンド行(d)は、逆方向から走査して後の目印負荷である「トランザクションＣ前目印負荷」から特定される。また、トランザクションＣのスタート行(e)は、正方向から走査して前の目印負荷である「トランザクションＣ前目印負荷」から特定され、トランザクションＣのエンド行(f)は、逆方向から走査して後の目印負荷である「エンド目印負荷」から特定される。
【００８７】
図１３は、後目印負荷に加えてスタート目印負荷とエンド目印負荷が計測対象サーバに生成された様子を示す図である。図１３に示すように、各トランザクションの後に後目印負荷を生成させた場合、トランザクションＡのスタート行(a)は、正方向から走査して前の目印負荷である「スタート目印負荷」から特定され、トランザクションＡのエンド行(b)は、逆方向から走査して後の目印負荷である「トランザクションＡ後目印負荷」から特定される。また、トランザクションＢのスタート行(c)は正方向から走査して前の目印負荷である「トランザクションＡ後目印負荷」から特定され、トランザクションＢのエンド行(d)は、逆方向から走査して後の目印負荷である「トランザクションＢ後目印負荷」から特定される。また、トランザクションＣのスタート行(e)は、正方向から走査して前の目印負荷である「トランザクションＢ後目印負荷」から特定され、トランザクションＣのエンド行(f)は、逆方向から走査して後の目印負荷である「トランザクションＣ後目印負荷」から特定される。
【００８８】
このように構成すれば、計測対象サーバにトランザクションを実行させる前のタイミングと後のタイミングの何れか一方のタイミングで目印負荷を上記計測対象サーバに生成させる場合であっても、当該トランザクションを実行したときに計測されたリソース使用量の範囲を特定することができる。
【００８９】
また、上記実施形態においては、トランザクションに関するスタート行Ｓとエンド行Ｅの切り出し処理により、当該トランザクションを実行したときに計測されたリソース使用量の範囲を自動的に特定するように構成したが、別の例として、取得されたリソース情報のリストを性能単価算出装置３の表示部に表示させ（例えば、図１０（Ｂ）に示すリストを表示）、表示されたリソース使用量及び時間情報のうち、目印負荷に対応するリソース使用量及びその時間情報に基づいてユーザにより指定されたリソース使用量の範囲を特定するように構成しても良い。つまり、性能単価算出装置３のユーザは、表示されたリソース情報のリストを見れば、目印負荷に対応するリソース使用量を把握できるので、トランザクションに係る負荷に対応するリソース使用量の範囲を例えばマウスを操作して指定することができる。この構成によっても、各トランザクションを実行したときに計測されたリソース使用量の範囲を、各トランザクション毎に正確に特定でき、各トランザクションに対応する性能単価を正確に算出することができる。
【００９０】
また、上記実施形態においては、リソース使用量としてＣＰＵ使用率を例にとって説明したが、これ以外にも、リソース使用量として例えばディスクＩ／Ｏサイズ／カウント等に対しても適用可能である。
【図面の簡単な説明】
【００９１】
【図１】性能単価算出装置を含むシステムの概要構成例を示す図である。
【図２】ある計測対象サーバにおいて、「spike（246, 3, 5, 12）;」と設定された負荷関数（spike関数）に基づく目印負荷が、トランザクションＡが実行される前後の夫々のタイミングで生成された様子を示す図である。
【図３】性能単価算出装置３の処理部におけるリソース使用量取得処理を示すフローチャート、及び当該処理において各ＤＢに格納される情報例を示す図である。
【図４】性能単価算出装置３の処理部におけるリソース使用量取得処理を示すフローチャート、及び当該処理において各ＤＢに格納される情報例を示す図である。
【図５】性能単価算出装置３の処理部におけるリソース使用量取得処理を示すフローチャート、及び当該処理において各ＤＢに格納される情報例を示す図である。
【図６】性能単価算出装置３の処理部におけるリソース使用量取得処理を示すフローチャート、及び当該処理において各ＤＢに格納される情報例を示す図である。
【図７】性能単価算出装置３の処理部におけるリソース使用量取得処理を示すフローチャート、及び当該処理において各ＤＢに格納される情報例を示す図である。
【図８】性能単価算出装置３の処理部における性能単価算出処理を示すフローチャート、及び当該処理において各ＤＢに格納される情報例を示す図である。
【図９】性能単価算出装置３の処理部における性能単価算出処理、及び当該処理において各ＤＢに格納される情報例を示す図である。
【図１０】スタート行Ｓの切り出し処理において、（Ａ）は、あるトランザクションに関して性能単価算出情報ＤＢ３３に格納された情報の一例を示す図であり、（Ｂ）は、（Ａ）に示されるトランザクションに対応するリソース情報を含むリソース情報のリストを示す図である。
【図１１】エンド行Ｅの切り出し処理において、（Ａ）は、あるトランザクションに関して性能単価算出情報ＤＢ３３に格納された情報の一例を示す図であり、（Ｂ）は、（Ａ）に示されるトランザクションに対応するリソース情報を含むリソース情報のリストを示す図である。
【図１２】図１２は、前目印負荷に加えてスタート目印負荷とエンド目印負荷が計測対象サーバに生成された様子を示す図である。
【図１３】図１３は、後目印負荷に加えてスタート目印負荷とエンド目印負荷が計測対象サーバに生成された様子を示す図である。
【図１４】ある機能が１回実行された時の、クライアント、Ｗｅｂサーバ、及びＤＢサーバ間におけるリクエストとレスポンスのやり取りの一例を示す図である。
【図１５】Ｗｅｂサーバ及びＤＢサーバにおいて１秒間隔で計測されたリソース使用量の一例を示す図である。
【図１６】時刻の同期がとれていない場合における、Ｗｅｂサーバ及びＤＢサーバにおいて１秒間隔で計測されたリソース使用量の一例を示す図である。
【符号の説明】
【００９２】
１  計測対象システム
２  負荷生成端末
３  性能単価算出装置
１１  Ｗｅｂサーバ
１２  ＡＰＰサーバ
１３  ＤＢサーバ
３１  計測対象システム情報ＤＢ
３２  ＳＰＥＣ値ＤＢ
３３  性能単価算出情報ＤＢ
３４  性能単価計測情報ＤＢ
３５  性能単価蓄積ＤＢ
【図２】
0004962239.tif 000002
【図１２】
0004962239.tif 000003
【図１３】
0004962239.tif 000004
【図１５】
0004962239.tif 000005
【図１６】
0004962239.tif 000006
【図１】
0004962239.tif 000007
【図３】
0004962239.tif 000008
【図４】
0004962239.tif 000009
【図５】
0004962239.tif 000010
【図６】
0004962239.tif 000011
【図７】
0004962239.tif 000012
【図８】
0004962239.tif 000013
【図９】
0004962239.tif 000014
【図１０】
0004962239.tif 000015
【図１１】
0004962239.tif 000016
【図１４】
0004962239.tif 000017