(57)【要約】【課題】  実運用中のサーバの代わりに、計測用ダミーサーバに対する計測を行い、正確な計測結果を得る。【解決手段】  実運用中のサーバと同等のハードウエアおよびアプリケーションを有する計測用ダミーサーバ１００を用意して性能の計測を行う。性能計測に用いる計測シナリオ１２とともに、前処理シナリオ１１および後処理シナリオ１３を用意し、シナリオ入力部２４０により入力する。計測シナリオ１２に基づいて計測実行部２２０による計測を行う前に、前処理実行部２１０によって前処理シナリオ１１に基づく前処理を実行し、実運用中のサーバと同等の環境設定を行い、計測後には、後処理実行部２３０により後処理シナリオ１３に基づく後処理を実行する。使用ＣＰＵ数、キャッシュヒット率、ＲＡＩＤ構成、ネットワーク帯域、データ量などを実運用中のサーバと同等の環境にした上で計測が可能になる。【選択図】  図１
2005085086.tif 000002
【特許請求の範囲】
【請求項１】
実運用中のサーバの代わりに、計測用ダミーサーバを用意し、この計測用ダミーサーバに対して、所定の計測プロセスを実行させることによりその性能を計測し、その結果を実運用中のサーバについての計測結果として利用するサーバ性能計測システムであって、
実運用中のサーバと同等の環境設定を示す前処理シナリオと、実行すべき計測の条件および内容を示す計測シナリオと、を含んだシナリオを入力するシナリオ入力部と、
前記シナリオ入力部が入力したシナリオ内の前記前処理シナリオに基づいて、計測用ダミーサーバに対して実運用中のサーバの環境と同等の環境設定を行う前処理実行部と、
前記前処理実行部による環境設定が完了した後に、前記シナリオ入力部が入力したシナリオ内の前記計測シナリオに基づいて、計測用ダミーサーバに対する性能の計測を行う計測実行部と、
前記計測実行部により得られた計測結果を集計して、これを出力する計測結果集計部と、
を備えることを特徴とするサーバ性能計測システム。
【請求項２】
請求項１に記載のサーバ性能計測システムにおいて、
シナリオ入力部が、計測完了後に設定すべきサーバの環境設定を示す後処理シナリオを更に含んだシナリオを入力する機能を有し、
計測実行部による計測が完了した後に、前記シナリオ入力部が入力したシナリオ内の前記後処理シナリオに基づいて、計測用ダミーサーバに対する環境設定を行う後処理実行部を更に備えることを特徴とするサーバ性能計測システム。
【請求項３】
請求項１または２に記載のサーバ性能計測システムにおいて、
前処理実行部が、計測用ダミーサーバに対して、前処理シナリオによって示されていたＣＰＵ使用個数と同等のＣＰＵ使用個数の設定を行う機能を有することを特徴とするサーバ性能計測システム。
【請求項４】
請求項１または２に記載のサーバ性能計測システムにおいて、
前処理実行部が、計測用ダミーサーバに対して、前処理シナリオによって示されていたキャッシュメモリヒット率と同等のキャッシュメモリヒット率が得られるような設定を行う機能を有することを特徴とするサーバ性能計測システム。
【請求項５】
請求項１または２に記載のサーバ性能計測システムにおいて、
前処理実行部が、計測用ダミーサーバに対して、前処理シナリオによって示されていたディスクのＲＡＩＤ構成と同等のＲＡＩＤ構成の設定を行う機能を有することを特徴とするサーバ性能計測システム。
【請求項６】
請求項１または２に記載のサーバ性能計測システムにおいて、
前処理実行部が、計測用ダミーサーバに対して、前処理シナリオによって示されていたネットワーク帯域制限状態と同等のネットワーク帯域制限状態の設定を行う機能を有することを特徴とするサーバ性能計測システム。
【請求項７】
請求項１または２に記載のサーバ性能計測システムにおいて、
前処理実行部が、計測用ダミーサーバに対して、前処理シナリオによって示されていたアプリケーション用データ格納状態と同等のアプリケーション用データ格納状態の設定を行う機能を有することを特徴とするサーバ性能計測システム。
【請求項８】
請求項１〜７のいずれかに記載のサーバ性能計測システムにおいて、
計測実行部が、計測シナリオ内の計測条件によって示される同時接続数Ｎと計測時間Ｔとに基づいて、Ｎ個の仮想クライアントから同時アクセスが行われる計測プロセスを作成し、この計測プロセスを計測時間Ｔの間だけ実行する処理を行うことを特徴とするサーバ性能計測システム。
【請求項９】
請求項１〜８のいずれかに記載のサーバ性能計測システムとしてコンピュータを機能させるためのプログラムもしくはこのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーバ性能計測システムに関し、特に、実運用中のサーバの代わりに、計測用ダミーサーバを用意し、この計測用ダミーサーバに対して、所定の計測プロセスを実行することによりその性能を計測し、その結果を実運用中のサーバについての計測結果として利用するサーバ性能計測システムに関する。
【背景技術】
【０００２】
コンピュータネットワークの普及により、データベースサーバやファイルサーバなど、サーバ装置の役割は非常に重要になってきている。特に、近年では、インターネットが、社会的な基幹システムとして機能するようになってきており、万一、サーバがダウンするような事態が生じると、社会的な影響も無視できなくなる。このような背景事情から、サーバの性能を客観的に計測することは重要であり、サーバ性能計測システムを用いて、定期的にサーバの性能を計測して評価することが行われる。
【０００３】
サーバ性能を計測する一般的な手法は、サーバの処理能力の限界まで処理要求（いわゆるトランザクション）を与え、その処理に対するサーバの応答速度やスループットを計測する方法によって行われる。たとえば、下記特許文献１には、サーバにトランザクションを送信した時刻と、このトランザクションに対する応答データの受信時刻との差から、応答時間を算出し、サーバの性能を計測する手法が開示されている。また、下記特許文献２には、待ち時間を発生させない状況下での同時処理数とスループットと応答時間との関係をエミュレーション評価することにより、サーバの性能を計測する手法が開示されている。
【特許文献１】特開平１０−１４３４０１号公報
【特許文献２】特許第２９２３８７４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上述したように、従来の一般的なサーバ性能計測システムでは、計測対象となるサーバの処理能力の限界まで処理要求を与える手法が採られるが、このような手法は、実運用中のサーバに対して行うことはあまり好ましくない。実運用中のサーバは、常時、本来の業務遂行のために稼働しているので、性能計測のための処理要求を、その処理能力の限界まで送るようなことをすると、本来の業務遂行に支障を来すおそれがある。
【０００５】
そこで、計測用ダミーサーバを計測対象として利用する手法が提案されている。これは、実運用中のサーバの代わりに、計測用ダミーサーバを用意し、この計測用ダミーサーバに対して、所定の計測プロセスを実行させることによりその性能を計測し、その結果を実運用中のサーバについての計測結果として利用する手法である。この手法では、実運用中のサーバ自身は計測対象にはならないので、本来の業務遂行に支障が生じることは全くない。
【０００６】
しかしながら、このようなダミーサーバを利用する方法には、必ずしも正確な性能計測を行うことができないという問題がある。これは、実運用中のサーバと全く同じハードウエア性能をもったダミーサーバを用いたとしても、動作環境が必ずしも同一にはならないため、ダミーサーバについての計測結果が、実運用中のサーバについての計測結果に一致しないためである。
【０００７】
そこで本発明は、実運用中のサーバの代わりに、計測用ダミーサーバに対する計測を行う手法を採っても、正確な計測結果を得ることが可能なサーバ性能計測システムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
(1)   本発明の第１の態様は、実運用中のサーバの代わりに、計測用ダミーサーバを用意し、この計測用ダミーサーバに対して、所定の計測プロセスを実行させることによりその性能を計測し、その結果を実運用中のサーバについての計測結果として利用するサーバ性能計測システムにおいて、
実運用中のサーバと同等の環境設定を示す前処理シナリオと、実行すべき計測の条件および計測内容を示す計測シナリオと、を含んだシナリオを入力するシナリオ入力部と、
このシナリオ入力部が入力したシナリオ内の前処理シナリオに基づいて、計測用ダミーサーバに対して実運用中のサーバの環境と同等の環境設定を行う前処理実行部と、
この前処理実行部による環境設定が完了した後に、シナリオ入力部が入力したシナリオ内の計測シナリオに基づいて、計測用ダミーサーバに対する性能の計測を行う計測実行部と、
この計測実行部により得られた計測結果を集計して、これを出力する計測結果集計部と、
を設けるようにしたものである。
【０００９】
(2)   本発明の第２の態様は、上述の第１の態様に係るサーバ性能計測システムにおいて、
シナリオ入力部に、計測完了後に設定すべきサーバの環境設定を示す後処理シナリオを更に含んだシナリオを入力する機能をもたせ、
計測実行部による計測が完了した後に、シナリオ入力部が入力したシナリオ内の後処理シナリオに基づいて、計測用ダミーサーバに対する環境設定を行う後処理実行部を更に設けるようにしたものである。
【００１０】
(3)   本発明の第３の態様は、上述の第１または第２の態様に係るサーバ性能計測システムにおいて、
前処理実行部に、計測用ダミーサーバに対して、前処理シナリオによって示されていたＣＰＵ使用個数と同等のＣＰＵ使用個数の設定を行う機能をもたせるようにしたものである。
【００１１】
(4)   本発明の第４の態様は、上述の第１または第２の態様に係るサーバ性能計測システムにおいて、
前処理実行部に、計測用ダミーサーバに対して、前処理シナリオによって示されていたキャッシュメモリヒット率と同等のキャッシュメモリヒット率が得られるような設定を行う機能をもたせるようにしたものである。
【００１２】
(5)   本発明の第５の態様は、上述の第１または第２の態様に係るサーバ性能計測システムにおいて、
前処理実行部に、計測用ダミーサーバに対して、前処理シナリオによって示されていたディスクのＲＡＩＤ構成と同等のＲＡＩＤ構成の設定を行う機能をもたせるようにしたものである。
【００１３】
(6)   本発明の第６の態様は、上述の第１または第２の態様に係るサーバ性能計測システムにおいて、
前処理実行部に、計測用ダミーサーバに対して、前処理シナリオによって示されていたネットワーク帯域制限状態と同等のネットワーク帯域制限状態の設定を行う機能をもたせるようにしたものである。
【００１４】
(7)   本発明の第７の態様は、上述の第１または第２の態様に係るサーバ性能計測システムにおいて、
前処理実行部に、計測用ダミーサーバに対して、前処理シナリオによって示されていたアプリケーション用データ格納状態と同等のアプリケーション用データ格納状態の設定を行う機能をもたせるようにしたものである。
【００１５】
(8)   本発明の第８の態様は、上述の第１〜第７の態様に係るサーバ性能計測システムにおいて、
計測実行部に、計測シナリオ内の計測条件によって示される同時接続数Ｎと計測時間Ｔとに基づいて、Ｎ個の仮想クライアントから同時アクセスが行われる計測プロセスを作成し、この計測プロセスを計測時間Ｔの間だけ実行する処理を行う機能をもたせるようにしたものである。
【００１６】
(9)   本発明の第９の態様は、上述の第１〜第８の態様に係るサーバ性能計測システムとしてコンピュータを機能させるためのプログラムを用意し、このプログラムをコンピュータ読み取り可能な記録媒体に記録して配付できるようにしたものである。
【発明の効果】
【００１７】
本発明に係るサーバ性能計測システムによれば、ダミーサーバに対する実際の性能計測を行う前に、前処理シナリオに基づいて、実運用中のサーバの環境と同等の環境設定を自動的に行うようにしたため、実運用中のサーバの代わりに、計測用ダミーサーバに対する計測を行う手法を採りながら、正確な計測結果を得ることが可能になる。
【発明を実施するための最良の形態】
【００１８】
以下、本発明を図示する実施形態に基づいて説明する。図１は、本発明の基本的な実施形態に係るサーバ性能計測システムの構成を示すブロック図である。図では、計測用ダミーサーバ１００に対して、本発明に係るサーバ性能計測システム２００を用いて、性能計測を実施する状態がブロック図により示されている。
【００１９】
図示のとおり、このサーバ性能計測システム２００は、前処理実行部２１０、計測実行部２２０、後処理実行部２３０、シナリオ入力部２４０、計測結果集計部２５０によって構成されている。もっとも、これらの各構成要素は、このサーバ性能計測システム２００の各機能に着目し、個々の機能を個々の構成要素として捉えたものであり、実際には、コンピュータにこれら各機能を実行する専用のソフトウエアを組み込むことにより、サーバ性能計測システム２００を構築することになる。
【００２０】
このサーバ性能計測システム２００は、図示されていない実運用中のサーバの代わりに、計測用ダミーサーバ１００を用意し、この計測用ダミーサーバ１００に対して、所定の計測プロセスを実行させることによりその性能を計測し、その結果を実運用中のサーバについての計測結果として利用するためのシステムである。計測用ダミーサーバ１００としては、実運用サーバと同等のハードウエア構成を有するサーバ装置に、実運用サーバで稼働中のアプリケーションプログラムと同等のプログラムをインストールしたものが用意される。
【００２１】
計測用ダミーサーバ１００に対する性能の計測は、計測実行部２２０によって実行され、その計測結果は、計測結果集計部２５０によって集計されることになる。ここに示すサーバ性能計測システム２００の特徴は、この性能計測処理を実行する前に、前処理実行部２１０による前処理が行われ、更に、性能計測処理の実行後に、後処理実行部２３０による後処理が行われる点である。前処理実行部２１０による前処理、計測実行部２２０による性能計測処理、後処理実行部２３０による後処理は、いずれもシナリオ入力部２４０によって入力されたシナリオ１０に基づいて実行される。
【００２２】
図示のとおり、シナリオ１０には、前処理シナリオ１１、計測シナリオ１２、後処理シナリオ１３が含まれている。これら各シナリオの内容については、後に具体例を挙げて説明するが、前処理シナリオ１１は、本来の計測対象となる実運用中のサーバと同等の環境設定を示すシナリオであり、計測シナリオ１２は、計測用ダミーサーバ１００に対して実行すべき計測の条件および計測プロセスを示すシナリオであり、後処理シナリオ１３は、計測完了後に設定すべきサーバの環境設定を示すシナリオである。シナリオ入力部２４０は、この３種類の各シナリオを含んだシナリオ１０を入力し、前処理シナリオ１１を前処理実行部２１０に与え、計測シナリオ１２を計測実行部２２０に与え、後処理シナリオ１３を後処理実行部２３０に与える処理を行う。
【００２３】
こうして、各実行部２１０，２２０，２３０に各シナリオが与えられると、前処理実行部２１０、計測実行部２２０、後処理実行部２３０の順に、それぞれのシナリオに基づく処理が実行される。
【００２４】
前処理実行部２１０は、シナリオ入力部２４０が入力したシナリオ１０内の前処理シナリオ１１に基づいて、計測用ダミーサーバ１００に対して、本来の計測対象となる実運用中のサーバの環境と同等の環境設定を行う前処理を実行する。この前処理により、計測用ダミーサーバ１００の環境は、本来の計測対象となる実運用中のサーバの環境と同等になる。計測実行部２２０は、前処理実行部２１０による環境設定が完了した後に、シナリオ入力部２４０が入力したシナリオ１０内の計測シナリオ１２に基づいて、計測用ダミーサーバ１００に対する性能の計測を行う。具体的には、計測シナリオ１２に基づいて、多数の処理要求（トランザクション）を計測用ダミーサーバ１００に送信し、これに対する応答データを受信する処理が繰り返される。計測結果集計部２５０は、計測実行部２２０により得られた計測結果を集計して、これを計測結果２０というデータの形式で出力する。具体的には、計測実行部２２０における計測結果は、応答速度（特定の処理要求を与えてから、これに応じた応答データが確認できるまでの時間）およびスループット（決められた時間内に、計測用ダミーサーバ１００が処理できるトランザクションの数）などの客観的なデータの形で、計測結果２０として出力される。最後に、後処理実行部２３０は、計測実行部２２０による計測が完了した後に、シナリオ入力部２４０が入力したシナリオ１０内の後処理シナリオ１３に基づいて、計測用ダミーサーバ１００に対する環境設定を行う後処理を実行する。
【００２５】
図２は、図１に示すサーバ性能計測システム２００を用いて、計測用ダミーサーバ１００に対する性能計測処理を実施する手順を示す流れ図である。まず、ステップＳ１において、計測結果集計部２５０の初期化が行われる。具体的には、計測結果集計部２５０内の各集計値が初期値０に設定されることになる。続いて、ステップＳ２において、シナリオ入力部２４０によって、シナリオ１０が入力される。シナリオ１０は、予め計測実行者によって作成しておくことになる。
【００２６】
シナリオ１０内には、図１に示すとおり、前処理シナリオ１１、計測シナリオ１２、後処理シナリオ１３が含まれているが、この中で、性能の計測に必須のシナリオは、計測シナリオ１２であり、前処理シナリオ１１および計測シナリオ１２は、必ずしも含まれている必要はない。もっとも、実運用中のサーバの代わりに、計測用ダミーサーバに対する計測を行う手法を採りながら、正確な計測結果を得る、という本発明の目的を達成するためには、前処理シナリオ１１も必須のシナリオになる。
【００２７】
シナリオ１０内に前処理シナリオ１１が含まれていた場合には、ステップＳ３からステップＳ４へと移行し、前処理プロセスの作成（ステップＳ４）および前処理プロセスの実行（ステップＳ５）が行われる。もちろん、前処理シナリオ１１が含まれていない場合は、これらの各ステップＳ４，５は実行されない。ステップＳ４の前処理プロセス作成処理は、前処理実行部２１０が、前処理シナリオ１１に基づいて、計測用ダミーサーバ１００の環境設定を行うためのプログラム（前処理プロセス）を作成する処理であり、ステップＳ５の前処理プロセス実行処理は、前処理実行部２１０が、作成した前処理プロセスを実際に実行することにより、計測用ダミーサーバ１００内の環境を変更する処理である。
【００２８】
続いて、ステップＳ６において、計測プロセス作成処理が行われ、ステップＳ７において、計測プロセス実行処理が行われる。いずれも、計測実行部２２０により実行される処理である。ステップＳ６の計測プロセス作成処理は、計測シナリオ１２に基づいて、計測用ダミーサーバ１００に与えるトランザクションプログラム（計測プロセス）を作成する処理であり、ステップＳ７の計測プロセス実行処理は、作成した計測プロセスを実際に実行することにより、計測用ダミーサーバ１００の性能計測を行う処理である。具体的には、前述したとおり、決められた時間内に多数のトランザクションを計測用ダミーサーバ１００に送信し、これに対する応答データを受信する処理が行われる。
【００２９】
こうして、計測処理が完了した後、シナリオ１０内に後処理シナリオ１３が含まれていた場合には、ステップＳ８からステップＳ９へと移行し、後処理プロセスの作成（ステップＳ９）および後処理プロセスの実行（ステップＳ１０）が行われる。もちろん、後処理シナリオ１３が含まれていない場合は、これらの各ステップＳ９，１０は実行されない。ステップＳ９の後処理プロセス作成処理は、後処理実行部２３０が、後処理シナリオ１３に基づいて、計測用ダミーサーバ１００の環境設定を行うためのプログラム（後処理プロセス）を作成する処理であり、ステップＳ１０の後処理プロセス実行処理は、後処理実行部２３０が、作成した後処理プロセスを実際に実行することにより、計測用ダミーサーバ１００内の環境を変更する処理である。
【００３０】
最後に、ステップＳ１１において、計測結果の集計処理が行われ、ステップＳ１２において、計測結果の出力処理が行われる。いずれも計測結果集計部２５０によって実行される処理であり、最終的に、計測結果２０がデータとして出力されることになる。
【００３１】
続いて、シナリオ１０の内容に応じた具体的な処理を、図３の具体例に即して説明する。図示のとおり、この図３では、シナリオ１０には、前処理シナリオ１１、計測シナリオ１２、後処理シナリオ１３が含まれている。前処理シナリオ１１は、本来の計測対象となる実運用中のサーバと同等の環境設定を示すデータからなり、図３には、５種類の環境設定が示されている。
【００３２】
計測用ダミーサーバ１００としては、通常、本来の計測対象となる実運用中のサーバと同等のハードウエア構成およびアプリケーションプログラムを有するコンピュータが用いられることになる。しかしながら、たとえ全く同一のハードウエア構成やプログラムを有するコンピュータを、計測用ダミーサーバ１００として用いたとしても、実運用中のサーバとは種々の環境設定が異なるため、計測結果は正確には一致しないことは既に述べたとおりである。前処理シナリオ１１は、実運用中のサーバの実際の環境設定のいくつかを示すものであり、前処理実行部２１０は、計測用ダミーサーバ１００に対して、この環境設定と同等の設定を行うための前処理プロセスを作成し、これを実行することになる。以下、図示された５種類の環境設定を順に述べる。
【００３３】
前処理シナリオ１１に定義されている第１の環境設定は、ＣＰＵの状態を変更するための設定である。ハードウエア構成として、複数台のＣＰＵを備えたサーバが用いられることは少なくない。しかしながら、実際の運用では、これらのサーバが、必ずしもすべてのＣＰＵを稼働した状態で利用されるとは限らない。たとえば、ハードウエア構成上は、４台のＣＰＵを備えたサーバであっても、実際の運用上は、様々な理由から、２台のＣＰＵのみを使用する環境で用いる、というようなケースもありうる。
【００３４】
図３の前処理シナリオ１１に示す第１の環境設定は、使用するＣＰＵの台数の設定を示すものであり、図示の例では、２台のＣＰＵを使用可能にする設定が示されている。前処理実行部２１０は、計測用ダミーサーバ１００に対して、この前処理シナリオ１１によって示されていたＣＰＵ使用個数と同等のＣＰＵ使用個数の設定を行うための前処理プロセスを作成し、これを実行することになる。ＣＰＵ使用個数の設定を行うための具体的なプロセスの記述内容は、個々のサーバごとに異なるので、ここでは詳しい説明は省略する。
【００３５】
図３の前処理シナリオ１１に定義されている第２の環境設定は、メモリ状態を変更するための設定であり、より具体的に説明すれば、キャッシュメモリのヒット率を特定の割合に近づける設定である。一般に、コンピュータでは、あらゆる部分においてキャッシュメモリが利用されている。これは、本来の記憶場所とは別に、高速にアクセスが可能なキャッシュメモリを用意しておき、頻繁にアクセスが生じるデータについては、このキャッシュメモリに格納することにより、アクセス速度を向上させるための手法である。データベースサーバなどのサーバ装置においても、キャッシュメモリを設けて、アクセス速度を向上させる工夫が施されている。このキャッシュメモリに対するヒット率は、当然、アクセス速度を大幅に左右するパラメータになる。
【００３６】
キャッシュメモリへデータを格納するアルゴリズムは様々であるが、基本的には、アクセス頻度の高いデータをキャッシュメモリへ順次格納してゆく処理が実行されることになる。したがって、キャッシュメモリへのデータ格納は、実際にサーバを運用することにより行われる。ところが、計測用ダミーサーバ１００は、ハードウエア構成は実運用サーバと同等であっても、実運用に供されたことのないサーバであるため、当初のキャッシュメモリの格納率は０であり、当然、当初のヒット率は０のままである。前処理シナリオ１１に第２の環境設定として定義されているメモリ状態の設定は、実運用サーバにおけるキャッシュメモリのヒット率（公知の方法で測定することができる）を示すものであり、前処理実行部２１０は、計測用ダミーサーバ１００に対して、前処理シナリオ１１によって示されていたキャッシュメモリヒット率と同等のキャッシュメモリヒット率が得られるような設定を行う機能を有する。
【００３７】
具体的には、たとえば、計測用ダミーサーバ１００内に用意されたダミーデータ（後述する第５の環境設定で用意される）に対して、ランダムにアクセスを行うトランザクションを多数用意し、このトランザクションを計測用ダミーサーバ１００に処理させることにより、計測用ダミーサーバ１００内のキャッシュメモリに、アクセスされたデータが順次格納されるような処理を行うとともに、キャッシュメモリのヒット率を逐次計測する処理を行えばよい。このような処理を、ヒット率が前処理シナリオ１１で示された値に到達するまで繰り返し実行すれば、その時点で、実運用サーバと同等のキャッシュヒット率を有する環境が設定できる。もちろん、これらの処理は、前処理実行部２１０によって実行される前処理であり、ヒット率が所定の設定値に到達するまでは、計測結果としてカウントされることはない。
【００３８】
図示の例の場合、ヒット率が７５〜８０％に到達するまで、前処理実行部２１０による前処理が行われることになり、前処理が完了した時点で、計測用ダミーサーバ１００のキャッシュメモリのヒット率は、実運用サーバと同様の７５〜８０％になっている。計測実行部２２０による計測処理は、このような環境で行われることになるので、実運用サーバに極めて近い計測結果を得ることができるようになる。
【００３９】
図３の前処理シナリオ１１に定義されている第３の環境設定は、ハードディスクの状態を変更するための設定であり、より具体的に説明すれば、ディスクアレイのＲＡＩＤ構成を特定の構成にするための設定である。データベースサーバやファイルサーバでは、データを安全に保管するという要請と、できるだけアクセス速度を速くするという要請に応じるために、ハードディスク装置をディスクアレイによって構築し、ＲＡＩＤ（Redundant Array of Inexpensive Disk）の構成を採ることが多い。たとえば、アクセス速度の向上を図るためには、ＲＡＩＤレベル０（いわゆるストライピング）の構成が採られ、安全性の向上を図るためには、ＲＡＩＤレベル１（いわゆるミラーリング）の構成が採られる。ハードウエアとしては全く同一のディスクアレイを用いていたとしても、ＲＡＩＤ構成をどのようにするかによって、サーバの諸性能には違いが生じることになる。前処理シナリオ１１に第３の環境設定として定義されているディスク状態の設定は、実運用サーバにおけるＲＡＩＤ構成を示すものであり、前処理実行部２１０は、計測用ダミーサーバ１００に対して、前処理シナリオ１１によって示されていたディスクのＲＡＩＤ構成と同等のＲＡＩＤ構成の設定を行う機能を有する。ディスクのＲＡＩＤの設定を行うための具体的なプロセスの記述内容は、個々のサーバごとに異なるので、ここでは詳しい説明は省略する。
【００４０】
図３の前処理シナリオ１１に定義されている第４の環境設定は、ネットワーク状態を変更するための設定であり、より具体的に説明すれば、ネットワーク帯域を所定の速度に制限するための設定である。サーバのネットワークに対する伝送効率は、基本的には、接続された伝送線の容量や、通信インターフェイスの速度などのハードウエア条件によって定まる。したがって、通信インターフェイスや接続された伝送線容量などのネットワークを含めたハードウエア環境が、実運用サーバと全く同じになる計測用ダミーサーバ１００を用意すれば、理論的には、ネットワークの帯域速度は同じになるはずである。しかしながら、実際には、ネットワークを含めてハードウエア環境が全く同一の計測用ダミーサーバ１００を用意することは困難なケースもあり、また、仮にハードウエア環境が全く同一であっても、実運用サーバ側では、利用者との契約などの諸条件により、理論的に可能な帯域速度よりも低い帯域速度に制限をかけるようなケースも少なくない。
【００４１】
前処理シナリオ１１に第４の環境設定として定義されているネットワーク状態の設定は、実運用サーバにおけるネットワーク帯域条件を示すものであり、前処理実行部２１０は、計測用ダミーサーバ１００に対して、前処理シナリオ１１によって示されていたネットワーク帯域制限状態と同等のネットワーク帯域制限状態の設定を行う機能を有する。図示の例では、帯域を１０Ｍｂｐｓに制限する設定がなされているので、前処理実行部２１０は、このような制限を課するための前処理プロセスを作成し、これを実行することになる。
【００４２】
図３の前処理シナリオ１１に定義されている第５の環境設定は、計測用ダミーサーバ１００側で動作するアプリケーションの状態を変更するための設定であり、この例では、実運用サーバ内のアプリケーション用データと同等のデータの設定が行われている。これにより前処理実行部２１０は、計測用ダミーサーバ１００に対して、前処理シナリオ１１によって示されていたアプリケーション用データ格納状態と同等のアプリケーション用データ格納状態の設定を行うことになる。図示の例では、データベースサーバとして機能する計測用ダミーサーバ１００内で動作しているデータベース用アプリケーションが用いる顧客データとして、「CUSTOMERテーブル」なるテーブルに、１００００人分のダミーデータを投入する設定を行うことが示されている。これは、本来の計測対象となる実運用サーバにも、「CUSTOMERテーブル」なるテーブルに、１００００人分の顧客データが格納されていることを示しており、計測用ダミーサーバ１００についても、前処理により同等のデータを組み込む設定を行う必要があることを示している。
【００４３】
前処理実行部２１０は、このような環境設定に応じて、１００００万人分のダミーデータを含む前処理プロセスを作成し、これを実行することにより、計測用ダミーサーバ１００内の「CUSTOMERテーブル」に、これらのダミーデータを書き込む処理を実行する。ダミーデータを作成するには、たとえば、顧客の氏名は、ランダムに発生させた漢字４文字を用い、住所は、ランダムに発生させた漢字および数字２０文字を用いる、というようなアルゴリズムを定めておけばよい。
【００４４】
以上、図３に前処理シナリオ１１として示されている５種類の具体的な環境設定を説明したが、もちろん、本発明を実施するにあたり、前処理で設定される環境設定の内容は、この５種類に限定されるものではない。要するに、本来の計測対象となる実運用中のサーバと同等の環境設定を示す内容であれば、どのような環境設定を前処理で行ってもかまわない。
【００４５】
続いて、図３に示す計測シナリオ１２の内容について述べる。もっとも、この計測シナリオ１２に基いて実行される計測実行部２２０の処理は、従来の一般的なサーバ性能計測システムにおいて実行されている通常の処理であり、本発明に特有の処理ではない。図示のとおり、計測シナリオ１２としては、計測条件と計測処理内容とが与えられている。計測条件としては、同時接続数、サーバ・クライアント間接続形式、計測時間という３つのパラメータが定められている。
【００４６】
ここで、同時接続数Ｎは、計測用ダミーサーバ１００に対して同時アクセスを行う仮想クライアントの数を示すものである。たとえば、Ｎ＝１０という条件の場合、計測用ダミーサーバ１００に対して、同時に１０台のクライアントが接続され、各クライアントからそれぞれ独立したトランザクションが順次与えられる、と仮定して計測処理が実行される。もちろん、実際には、計測用ダミーサーバ１００に対して実際にトランザクションを与えるのは、サーバ性能計測システム２００であるから、この場合、サーバ性能計測システム２００が、１０台の仮想クライアントとして機能することになる。
【００４７】
一方、サーバ・クライアント間接続形式は、逐次接続か常時接続かの２通りが用意されている。図示のような逐次接続の設定では、サーバに接続するたびに、毎回、認証処理が実行されることになる。これに対して、常時接続の設定では、最初にサーバに接続した際に認証処理が実行されるだけで、以後の接続では認証処理は不要になる。計測実行者は、いずれの形式でのサーバ性能を計測したいかによって、ここの条件をいずれかに設定すればよい。
【００４８】
計測時間は、計測用ダミーサーバ１００に対してトランザクションを送信し、それに対する応答データを受信する、という処理を繰り返し実行する期間を示すものである。たとえば、図示の例では、２０分なる計測時間が設定されているので、２０分間、このような繰り返し処理が実行され、その結果を集計することにより、平均応答時間およびスループットが求められることになる。図示の例では、同時接続数を１に設定したときに２０分間の計測を行い、２に設定したときに２０分間の計測を行い、…、最後に５０に設定したときに２０分間の計測が行われることになり、それぞれの同時接続数において、応答時間およびスループットが求められる。
【００４９】
結局、計測実行部２２０は、計測シナリオ１２内の計測条件によって示される同時接続数Ｎと計測時間Ｔとに基づいて、Ｎ個の仮想クライアントから同時アクセスが行われる計測プロセスを作成し、この計測プロセスを計測時間Ｔの間だけ実行する処理を行うことになる。
【００５０】
計測シナリオ１２内の計測処理内容は、計測用ダミーサーバ１００に対する具体的な処理要求（トランザクション）を示す内容である。図示の例では、計測用ダミーサーバ１００がデータベースサーバであるとの前提の下で、２つのトランザクションが例示されている。第１のトランザクションは、「ユーザＩＤが？のデータをＯＲＤＥＲＳテーブルから削除せよ。」という内容の処理であり、第２のトランザクションは、「ＣＵＳＴＯＭＥＲテーブルからユーザＩＤが？に相当する顧客ＩＤを選択せよ」という内容の処理である。これらのトランザクションは、実際には、たとえば、ＳＱＬ（Structured Query Language）などの言語により記述される。
【００５１】
最後の後処理シナリオ１３内には、計測完了後に設定すべきサーバの第１の環境設定として、アプリケーション状態を変更する設定が定義されている。これは、前処理シナリオ１１の第５の環境設定に対応したものであり、「ＣＵＳＴＯＭＥＲテーブルを切り捨てよ」なる環境設定は、前処理によってＣＵＳＴＯＭＥＲテーブル内に投入された１００００人分のダミーデータをすべて消去すべきことを指示している。
【００５２】
後処理実行部２３０は、このような後処理シナリオ１３に基づいて、計測用ダミーサーバ１００に対する環境設定を行う。この例の場合、１００００人分のダミーデータをすべて消去するための後処理プロセスが作成され、実行される。
【００５３】
もっとも、この後処理は、本発明を実行する上で必須のものではない。同一の計測用ダミーサーバ１００に対して再度計測を行う際には、再び前処理を実行することにより、任意の環境設定が可能になるので、後処理を行わなくても特に支障は生じない。しかしながら、実用上は、後処理を実行し、できるだけ計測用ダミーサーバ１００の環境設定を標準の状態に戻しておくようにすると、次回の計測処理をスムーズに行うことができる。すなわち、次回の計測処理を行う際に、標準の設定をそのまま利用する環境については、前処理を実施する必要がなくなる。
【００５４】
最後に、参考のために、サーバ性能計測システム２００を用いて得られる計測結果２０の一例を図４および図５に示す。図４に示す計測結果２０は、同時接続数Ｎ＝１０、計測時間Ｔ＝２０分（１２００秒）なる条件における計測結果をテキスト形式で出力したものである。スループット（１秒あたりの平均トランザクション処理数）として１０．１９（ｔ／ｓ）、平均応答時間として９８．０７（ミリ秒）なる結果が示されている。
【００５５】
一方、図５に示す計測結果２０は、同時接続数Ｎ＝１〜５０に変化させ、３つのシナリオについて計測したスループットをグラフとして示すものである。同時接続数が少ない領域では、同時接続数を増やせば増やすほどスループットが向上するが、同時接続数が一定以上になると、スループットは飽和状態になる傾向が示されている。もちろん、計測結果の出力形態は、ここに示した形態に限定されるものではなく、任意の形態で出力することができる。
【図面の簡単な説明】
【００５６】
【図１】本発明の基本的な実施形態に係るサーバ性能計測システムの構成を示すブロック図である。
【図２】図１に示すサーバ性能計測システム２００を用いて、計測用ダミーサーバ１００に対する性能計測処理を実施する手順を示す流れ図である。
【図３】図１に示すシナリオ１０の具体例を示す図である。
【図４】図１に示す計測結果２０の具体例を示す図である。
【図５】図１に示す計測結果２０の別な具体例を示す図である。
【符号の説明】
【００５７】
１０…サーバ性能の計測に用いるシナリオ
１１…前処理シナリオ
１２…計測シナリオ
１３…後処理シナリオ
２０…計測結果
１００…計測用ダミーサーバ
２００…サーバ性能計測システム
２１０…前処理実行部
２２０…計測実行部
２３０…後処理実行部
２４０…シナリオ入力部
２５０…計測結果集計部
【図１】
2005085086.tif 000003
【図２】
2005085086.tif 000004
【図３】
2005085086.tif 000005
【図４】
2005085086.tif 000006
【図５】
2005085086.tif 000007