(57)【要約】【課題】  複数の構成パラメータからなるシステムに対するパラメータ・セットを最適化するための方法が提供される。【解決手段】  方法は、複数のパラメータ・セットを記憶するステップと、複数のパラメータ・セットから評価対象のテスト・パラメータ・セットを選択するステップと、Ｎ（Ｎは正の整数）個のバッチからなるフルセットのテスト・パラメータ・セットに対する性能測定のうち１バッチ分だけ性能測定を実施するステップと、前記テスト・パラメータ・セットに関して終了した性能測定のバッチ数であるｒ（ｒ＜Ｎの正の整数）バッチまでのテスト・パラメータ・セットを用いた測定値の積分と、既に評価されたパラメータ・セットのうちの最適パラメータ・セットの平均測定値のｒバッチまでの積分との差分に基づいて計算された評価値を算出するステップを含む。評価値は、所定の評価継続範囲を外れたかどうか判定され、性能悪化の方向に評価継続範囲を外れたと判定されたことを条件に、当該テスト・パラメータ・セットの評価を終了するステップを含む。所定の評価継続範囲は、ｒ＝０のときに幅Ｗ、ｒ＝Ｎのときに幅Ｗ´（０≦Ｗ´＜Ｗ）となるように幅が変化することが好ましい。さらに、Ｗ´は、０であることが好ましい。【特許請求の範囲】
【請求項１】
複数のシステム構成パラメータからなるパラメータ・セットを最適化するための方法であって、
複数のパラメータ・セットを記憶するステップと、
前記複数のパラメータ・セットから評価対象のテスト・パラメータ・セットを選択するステップと、
Ｎ（Ｎは正の整数）個のバッチからなるフルセットの前記テスト・パラメータ・セットに対する性能測定のうち１バッチ分だけ性能測定を実施するステップと、
前記テスト・パラメータ・セットに関して終了した性能測定のバッチ数であるｒ（ｒ＜Ｎの正の整数）バッチまでの前記テスト・パラメータ・セットを用いた測定値の積分と、既に評価されたパラメータ・セットのうちの最適パラメータ・セットの平均測定値のｒバッチまでの積分との差分に基づいて計算された評価値を算出するステップと、
前記評価値が、ｒ＝０のときに幅Ｗ、ｒ＝Ｎのときに幅Ｗ´となるように幅が変化する評価継続範囲を外れたかどうか判定するステップと、
前記判定するステップにおいて、性能悪化の方向に前記評価継続範囲を外れたと判定されたことを条件に、当該テスト・パラメータ・セットの評価を終了するステップと、
を含む方法。
【請求項２】
前記Ｗ´の値は、Ｗの値よりも小さい、請求項１に記載の方法。
【請求項３】
前記Ｗ´の値は、０である、請求項１に記載の方法。
【請求項４】
前記判定するステップにおいて、前記評価継続範囲を性能悪化または性能向上の方向に外れたと判定されるまで、性能測定を実施するステップ、評価値を算出するステップおよび判定するステップを繰り返させるステップをさらに含む、請求項１に記載の方法。
【請求項５】
前記判定するステップにおいて、前記評価継続範囲を性能向上の方向に外れたと判定されたことを条件に、現在の最適パラメータ・セットを当該テスト・パラメータ・セットに置き換えるステップをさらに含む、請求項１に記載の方法。
【請求項６】
前記判定するステップにおいて、前記評価継続範囲を性能向上の方向に外れたと判定されたことを条件に、当該テスト・パラメータ・セットについてフルセットの性能測定を実施するステップをさらに含む、請求項５に記載の方法。
【請求項７】
前記評価継続範囲は、ｒの値が増加することに応じて幅が狭くなる、請求項１に記載の方法。
【請求項８】
前記評価継続範囲は、ｒの値の増加に応じて幅が線形的に狭くなる、請求項１に記載の方法。
【請求項９】
前記複数のパラメータ・セットから初期の最適パラメータ・セットを選択するステップと、前記初期の最適パラメータ・セットについて、フルセットの性能測定を実施するステップをさらに含む、請求項１に記載の方法。
【請求項１０】
前記選択するステップは、前記複数のパラメータ・セットから最も性能が高いと推定されるパラメータ・セットを、テスト・パラメータ・セットとして選択するステップを含む、請求項１に記載の方法。
【請求項１１】
前記選択するステップは、既に性能評価されたパラメータ・セットの評価結果に基づいて、前記複数のパラメータ・セットのうちの未評価のものから最も性能が高いと推定されるパラメータ・セットを、テスト・パラメータ・セットとして選択するステップを含む、請求項１に記載の方法。
【請求項１２】
前記選択するステップは、既に性能評価されたパラメータ・セットの評価結果を使用して、前記評価結果の精度に関して重み付けられた二乗誤差を最小にするように回帰させることによって性能曲線を算出するステップと、前記性能曲線を用いて、最も性能が高いと推定されるパラメータ・セットを探索するステップを含む、請求項１に記載の方法。
【請求項１３】
前記二乗誤差は、それぞれのパラメータ・セットに対して実施された性能評価のバッチ数に基づいて重み付けされる、請求項１２に記載の方法。
【請求項１４】
前記二乗誤差は、それぞれのパラメータ・セットの性能評価値のばらつきを表す指標に基づいて重み付けされる、請求項１２に記載の方法。
【請求項１５】
前記性能曲線は、二次曲線で近似される、請求項１２に記載の方法。
【請求項１６】
前記選択するステップは、前記探索するステップにおいて、最も性能が高いと推定されるパラメータ・セットが検出されたかどうかを判定するステップと、前記最も性能が高いと推定されるパラメータ・セットが検出されたかどうかを判定するステップにおいて検出されたと判定されたことに応じて、検出されたパラメータ・セットをテスト・パラメータ・セットとして選択するステップをさらに含む、請求項１２に記載の方法。
【請求項１７】
前記選択するステップは、前記最も性能が高いと推定されるパラメータ・セットが検出されたかどうかを判定するステップにおいて検出されなかったと判定されたことに応じて、最適と推定されるパラメータ・セットを探索する他の手法を実施するステップをさらに含む、請求項１６に記載の方法。
【請求項１８】
前記複数のパラメータ・セットすべての性能測定が終了するまで、前記選択するステップ、前記性能測定を実施するステップ、前記評価値を算出するステップ、前記評価継続範囲を外れたかどうか判定するステップ、および前記評価を終了するステップを繰り返すステップをさらに含む、請求項１に記載の方法。
【請求項１９】
所定の条件がクリアされるまで、前記選択するステップ、前記性能測定を実施するステップ、前記評価値を算出するステップ、前記評価継続範囲を外れたかどうか判定するステップ、および前記評価を終了するステップを繰り返すステップをさらに含む、請求項１に記載の方法。
【請求項２０】
前記所定の条件は、システムの性能評価開始からあらかじめ定められた時間が経過したことである、請求項１９に記載の方法。
【請求項２１】
前記所定の条件は、性能評価を実施するパラメータ・セットの数の上限である、請求項１８に記載の方法。
【請求項２２】
前記システムは、ウェブ・システムである、請求項１に記載の方法。
【請求項２３】
複数の既に性能測定がされた構成パラメータ・セットの性能測定結果に基づいて、複数の未測定の構成パラメータ・セットから最も性能が高いと推定される構成パラメータ・セットを選択するための方法であって、
互い測定精度が異なり得る、複数の既に測定されたパラメータ・セットの測定結果を呼び出すステップと、
既に性能評価されたパラメータ・セットの評価結果を使用して、前記評価結果の精度に関して重み付けられた二乗誤差を最小にするように回帰させることによって性能曲線を算出するステップと、
前記性能曲線を用いて、最も性能が高いと推定されるパラメータ・セットを探索するステップ
を含む方法。
【請求項２４】
前記二乗誤差は、それぞれのパラメータ・セットに対して実施された性能評価のバッチ数に基づいて重み付けされる、請求項２３に記載の方法。
【請求項２５】
前記二乗誤差は、それぞれのパラメータ・セットの性能評価値のばらつきを表す指標に基づいて重み付けされる、請求項２３に記載の方法。
【請求項２６】
前記性能曲線は、二次曲線で近似される、請求項２３に記載の方法。
【請求項２７】
複数のシステム構成パラメータからなるパラメータ・セットを最適化するためのプログラムであって、
複数のパラメータ・セットを記憶するステップと、
前記複数のパラメータ・セットから評価対象のテスト・パラメータ・セットを選択するステップと、
Ｎ（Ｎは正の整数）個のバッチからなるフルセットの前記テスト・パラメータ・セットに対する性能測定のうち１バッチ分だけ性能測定を実施するステップと、
前記テスト・パラメータ・セットに関して終了した性能測定のバッチ数であるｒ（ｒ＜Ｎの正の整数）バッチまでの前記テスト・パラメータ・セットを用いた測定値の積分と、既に評価されたパラメータ・セットのうちの最適パラメータ・セットの平均測定値のｒバッチまでの積分との差分に基づいて計算された評価値を算出するステップと、
前記評価値が、ｒ＝０のときに幅Ｗ、ｒ＝Ｎのときに幅Ｗ´となるように幅が変化する評価継続範囲を外れたかどうか判定するステップと、
前記判定するステップにおいて、性能悪化の方向に前記評価継続範囲を外れたと判定されたことを条件に、当該テスト・パラメータ・セットの評価を終了するステップと、
をコンピュータに実行させるプログラム。
【請求項２８】
複数のシステム構成パラメータからなるパラメータ・セットを最適化するための装置であって、
複数のパラメータ・セットを記憶する記憶部と、
前記複数のパラメータ・セットから評価対象のテスト・パラメータ・セットを選択するステップと、
Ｎ（Ｎは正の整数）個のバッチからなるフルセットの前記テスト・パラメータ・セットに対する性能測定のうち１バッチ分だけ性能測定を実施する手段と、
前記テスト・パラメータ・セットに関して終了した性能測定のバッチ数であるｒ（ｒ＜Ｎの正の整数）バッチまでの前記テスト・パラメータ・セットを用いた測定値の積分と、既に評価されたパラメータ・セットのうちの最適パラメータ・セットの平均測定値のｒバッチまでの積分との差分に基づいて計算された評価値を算出する手段と、
前記評価値が、ｒ＝０のときに幅Ｗ、ｒ＝Ｎのときに幅Ｗ´となるように幅が変化する評価継続範囲を外れたかどうか判定する手段と、
前記判定するステップにおいて、性能悪化の方向に前記評価継続範囲を外れたと判定されたことを条件に、当該テスト・パラメータ・セットの評価を終了する手段と、
を備える装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的には、システムの最適化技術に関し、より詳細には、システムの構成パラメータ・セットを最適化するための方法、プログラムおよび装置に関する。
【背景技術】
【０００２】
近年、インターネットの普及に伴い、ウェブ・システムが広く活用されている。典型的なウェブ・システムは、ゲートウェイとなるＨＴＴＰサーバ、アプリケーション・サーバ、およびデータベース・サーバを含み、クライアントとインターネットを介して接続されている。ＨＴＴＰサーバは、クライアントのブラウザからインターネットを介して送信されたＨＴＴＰリクエストを受領し、フィルタ処理等を実施した上でアプリケーション・サーバに渡す。アプリケーション・サーバは、データベース・サーバにクエリを送信することによって入手したデータを適宜使用し、アプリケーション・ソフトウェアを実行することによって、ＨＴＴＰサーバから受領したリクエストを処理する。【０００３】
ウェブ・システムの性能（例えば、単位時間あたりのリクエストの処理能力であるスループット）は、ＨＴＴＰサーバのクライアント接続の最大許容数、アプリケーション・サーバの初期ヒープサイズ、最大ヒープサイズ、最大スレッドサイズ、最大プールサイズ、データベース・サーバのバッファ・プールサイズ、インデックスの有無などの様々な複数の構成パラメータ（本明細書において、単に「パラメータ」と称する）の組合せに依存する。ウェブ・システムの性能を最大化するために、パラメータ・セットの最適化が必要となることが理解される。【０００４】
ウェブ・システムのパラメータ・セットの最適化手法としては、準備した複数のパラメータ・セットそれぞれについて一定時間の負荷を与えてスループットを測定し、スループットが最大となるパラメータ・セットを選択する手法が考えられる。しかし、この手法は、単純なウェブ・システムであっても３００程度の可能なパラメータ・セットが考えられるため、最適化に要する時間が膨大となる可能性がある。また、それぞれのパラメータ・セットについて負荷をかける一定の時間が短すぎるために正確に性能測定されていない可能性や、長すぎるために必要以上の性能測定を行っている可能性がある。【０００５】
また、準備した複数のパラメータ・セットから、システム設計者の経験と勘に基づいて、最適と思われる順にパラメータ・セットを選択し、その中で最も良い構成を採用することで長すぎる最適化時間の問題を解決することも考えられる。しかし、かかる手法は属人的で汎用性を欠く。属人性の課題を解決するために、パラメータ・セットの最適化やウェブ・システムの性能評価に関する技術が以下の文献に開示されている。【０００６】
非特許文献１は、実験計画法を用いて、全ての構成について性能を測定するのではなく、測定から得られる情報を用いることなくランダムに選択された構成の一部について一定の精度で性能を測定して、最も良い測定値を持つ構成を選択する手法を開示する。
特開２００５−２２２３４３号公報は、滑降シンプレックス法を用いて、これまでの最適構成の近傍の構成を一定の精度で測定し、最適構成よりも良い測定結果であれば、最適構成と置き換える探索アルゴリズムを開示する。
非特許文献２は、既に得られた測定値を二次関数に回帰することによって、未測定の構成のうち性能がより優れていると推定されたものを一定の精度で測定し、最適構成よりも良い構成であれば、最適構成と置き換える探索アルゴリズムを開示する。
特開２００３−１３１９０７は、性能評価対象のボトルネックを含むウェブ・システムに接続される複数のクライアントを仮想的に実現し、性能測定用コンピュータに対して負荷を加えることによって、ウェブ・システムの性能に関する情報及びボトルネック回避に関する情報を含む評価結果の出力を行う技術を開示する。
特開２００４−６４７３４は、システムモデル・データベース内に、モデルパターン、システム特性、機能特性及び応答時間予測モデル情報を予め格納しておき、性能予測プログラムが、入力項目として入力されるパラメータとシステムモデル・データベース内の情報に従い、ウェブ・システムの性能を予測する技術を開示する。
【非特許文献１】A. M. Law and W. D. Kelton, Simulation Modeling and Analysis (3rd edition), McGraw-Hill (2000).
【非特許文献２】B. Xi, Z. Liu, M. Raghavachari, C. H. Xia, and L. Zhang, “A smart hill-climbing  algorithm for application server configuration,” in Proceedings of the 13th International Conference  on World Wide Web, pages 287-296 (2004).
【特許文献１】特開２００５−２２２３４３号公報
【特許文献２】特開２００３−１３１９０７号公報
【特許文献３】特開２００４−６４７３４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
上記の背景技術によれば、評価対象となる選択されたパラメータ・セット群に最適なものが含まれていない可能性や、すべての評価対象のパラメータ・セットについて同じ精度で性能測定をしているために、パラメータ・セットによっては、必要以上の性能測定を実施している可能性がある。【０００８】
したがって、本発明の目的の１つは、システムの性能を最大化するパラメータ・セットをより効果的に選択することによって、システムのパラメータ・セットを最適化するための方法、プログラム、装置を提供することである。
【課題を解決するための手段】
【０００９】
上記の目的を達成するために、複数の構成パラメータからなるシステムに対するパラメータ・セットを最適化するための方法が提供される。方法は、複数のパラメータ・セットを記憶するステップと、複数のパラメータ・セットから評価対象のテスト・パラメータ・セットを選択するステップと、Ｎ（Ｎは正の整数）個のバッチからなるフルセットのテスト・パラメータ・セットに対する性能測定のうち１バッチ分だけ性能測定を実施するステップと、テスト・パラメータ・セットに関して終了した性能測定のバッチ数であるｒ（ｒ＜Ｎの正の整数）バッチまでのテスト・パラメータ・セットを用いた測定値の積分と、既に評価されたパラメータ・セットのうちの最適パラメータ・セットの平均測定値のｒバッチまでの積分の差分に基づいて計算された評価値を算出するステップを含む。評価値は、所定の評価継続範囲を外れたかどうか判定され、性能悪化の方向に評価継続範囲を外れたと判定されたことを条件に、当該テスト・パラメータ・セットの評価を終了するステップを含む。所定の評価継続範囲は、ｒ＝０のときに幅Ｗ、ｒ＝Ｎのときに幅Ｗ´（０≦Ｗ´＜Ｗ）となるように幅が変化することが好ましい。さらに、Ｗ´は、０であることが好ましい。【００１０】
方法は、評価継続範囲を性能向上の方向に外れたと判定されたことを条件に、現在の最適パラメータ・セットを当該テスト・パラメータ・セットに置き換え、当該テスト・パラメータ・セットについてフルセットの性能測定を遂行することが好ましい。方法は、評価継続範囲を性能悪化または性能向上の方向に外れたと判定されるまで、上述のステップを繰り返すことが好ましい。【００１１】
選択するステップは、複数のパラメータ・セットから最も性能が高いと推定されるパラメータ・セットを、テスト・パラメータ・セットとして選択するようにすることができる。この場合、既に性能評価されたパラメータ・セットの評価結果を使用して、前記評価結果の精度に関して重み付けられた二乗誤差を最小にするように回帰させることによって性能曲線を算出し、性能曲線を用いて、最も性能が高いと推定されるパラメータ・セットを探索することが好ましい。【００１２】
上述の評価結果の精度に関して重み付けられた二乗誤差は、それぞれのパラメータ・セットに対して実施された性能評価のバッチ数、および／またはそれぞれのパラメータ・セットの性能評価値のばらつきを表す指標に基づいて重み付けされることが好ましい。【００１３】
以上、パラメータ・セットを最適化するための方法として本発明の概要を説明したが、本発明は、パラメータ・セット最適化装置、プログラム、またはプログラム製品として把握することもできる。プログラム製品は、例えば、前述のプログラムを格納した記憶媒体を含め、あるいはプログラムを伝送する媒体を含めることができる。【００１４】
上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではなく、これらの構成要素のコンビネーションまたはサブコンビネーションもまた、発明となり得ることに留意すべきである。
【発明を実施するための最良の形態】
【００１５】
以下、本発明を実施するための最良の形態を図面に基づいて詳細に説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではなく、また実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。【００１６】
また、本発明は多くの異なる態様で実施することが可能であり、実施の形態の記載内容に限定して解釈されるべきものではない。また、実施の形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須とは限らないことに留意されたい。実施の形態の説明の全体を通じて同じ要素には同じ番号を付している。【００１７】
図１は、本発明の実施の形態によるパラメータ・セット最適化装置１００（以下、単に「最適化装置１００」と称する）および最適化すべきウェブ・システム１２０の外観の一例を示す。本発明の実施の形態においては、最適化装置１００およびウェブ・システム１２０は、ネットワーク１１０を介して接続されている。【００１８】
最適化装置１００は、最適化すべきウェブ・システム１２０について、準備された複数の構成パラメータ・セットを記憶する。最適化装置１００は、それぞれのパラメータ・セットを用いて、ウェブ・システムの構成を設定し、ウェブ・システム１２０に負荷を与え性能評価を実施する。そして、性能評価の結果に基づいて、ウェブ・システム１２０の性能を最大化する最適なパラメータ・セットを選択する。【００１９】
ネットワーク１１０は、最適化装置１００およびウェブ・システム１２０を接続する通信経路であり、一例としてインターネットにより実現することができる。インターネットであるネットワーク１１０は、よく知られたＴＣＰ／ＩＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ 
Ｃｏｎｔｒｏｌ Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ Ｐｒｏｔｏｃｏｌ）を用いてシステム間を接続する。ネットワーク１１０ではグローバルアドレスまたはローカルアドレスで表されるＩＰアドレスによって相互に通信するシステムが特定される。【００２０】
ウェブ・システム１２０は、クライアントからのリクエスト（好適には、ＨＴＴＰリクエスト）に応じて、アプリケーション・サービスを提供する機能を有する。本発明の実施形態においては、ウェブ・システム１２０は、いわゆる三層構造を採用しており、ＨＴＴＰサーバ１２２、アプリケーション・サーバ１２４およびデータベース・サーバ１２６を含む。【００２１】
ＨＴＴＰサーバ１２２は、クライアントからのリクエストを受けて、フィルタ処理などを施した上で、アプリケーション・サーバ１２４に引き渡す機能を有する。当業者は、Ａｐａｃｈｅ  Ｓｏｆｔｗａｒｅ  Ｆｏｕｎｄａｔｉｏｎのオープン・ソース・ソフトウェアであるＡｐａｃｈｅやＭｉｃｒｏｓｏｆｔ  ＣｏｒｐｏｒａｔｉｏｎのＩＩＳ（Ｉｎｔｅｒｎｅｔ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｓｅｒｖｉｃｅ）を使用して、ＨＴＴＰサーバ１２２を適宜構築することができる。【００２２】
アプリケーション・サーバ１２４は、クライアントからのリクエストに応じて、あらかじめ導入されたアプリケーション・ソフトウェアを実行し、結果を返す機能を有する。アプリケーション・サーバ１２４は、アプリケーションの実行に必要なデータを問い合せるクエリ（好適には、ＳＱＬクエリ）を生成し、データベース・サーバ１２４に問い合わせを行う機能をも有する。当業者は、Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｂｕｓｉｎｅｓｓ  Ｍａｃｈｉｎｅｓ  Ｃｏｒｐｏｒａｔｉｏｎの提供するＷｅｂＳｐｈｅｒｅ（Ｒ）製品やＢＥＡ  Ｓｙｓｔｅｍｓ  Ｉｎｃ．の提供するＷｅｂｌｏｇｉｃ（Ｒ）製品を使用して、アプリケーション・サーバ１２４を適宜構築することができる。【００２３】
データベース・サーバ１２６は、データベース管理ソフトウェア（ＤＢＭＳ）がインストールされており、アプリケーション・サーバ１２４が処理を実行するために必要なデータを格納したデータベースを管理している。当業者は、Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｂｕｓｉｎｅｓｓ  Ｍａｃｈｉｎｅｓ  Ｃｏｒｐｏｒａｔｉｏｎの提供するＤＢ２（Ｒ）製品、Ｏｒａｃｌｅ  Ｃｏｒｐｏｒａｔｉｏｎの提供するＯｒａｃｌｅ  Ｄａｔａｂａｓｅ製品、Ｍｉｃｒｏｓｏｆｔ  Ｃｏｒｐｏｒａｔｉｏｎの提供するＳＱＬ  Ｓｅｒｖｅｒ製品のようなデータベース管理ソフトウェア（ＤＢＭＳ）を使用して、適宜データベース・サーバ１２６を構築することができる。【００２４】
図２は、本発明の実施の形態の最適化装置１００の機能ブロック図である。なお、図２の機能ブロック図に示す各要素は、図８を用いて後述するハードウェア構成を有する情報処理装置において、ハードディスク装置１３などに格納されたオペレーティング・システムやコンピュータ・プログラムをメインメモリ４にロードした上でＣＰＵ１に読み込ませ、ハードウェア資源とソフトウェアを協働させることによって実現することができる。【００２５】
本発明の実施形態においては、最適化装置１００は、パラメータ・セット記憶部２１０、入力部２２０、出力部２３０、システム制御部２４０、負荷生成器２５０、データ解析部２６０、および測定制御部２７０を含み、ネットワーク１１０を介して対象システム１２０に接続されている。【００２６】
パラメータ・セット記憶部２１０は、ウェブ・システム１２０のパラメータ・セットを記憶する。複数のパラメータ・セットが、パラメータ・セット記憶部２１０に記憶されることが好ましい。また、パラメータ・セットは、ＸＭＬ（ｅＸｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）形式で記憶されることが好ましい。なお、パラメータ・セット記憶部２１０に記憶されるパラメータ・セットは、人手で準備してもよいし、所定の規則に従って、コンピュータによって自動生成してもよい。さらに、コンピュータで自動生成されたパラメータ・セットから適宜人手で選択をし、それらを記憶するようにしてもよい。すなわち、ユーザは、複数のパラメータ・セットをいかようにも準備することができることに留意されたい。【００２７】
入力部２２０は、キーボード６、マウス７のような入力デバイスにより実現され、最適化装置１００を操作するユーザから、初期パラメータ・セットの設定に関する操作、データやシステム制御に関する情報などの入力を受け付ける。出力部２３０は、表示装置１１のような出力デバイスよって実現され、ユーザにパラメータ・セットの最適化に必要な情報、エラーメッセージ、本発明の実施形態の最適化処理に従って選択された最適なパラメータ・セットなどを表示する。【００２８】
システム制御部２４０は、ユーザが入力部２２０において入力したシステム制御に関する情報を保持する。システム制御部２４０は、入力部２２０からのユーザ入力や測定解析部２７０からの指示に基づいて、パラメータ・セット記憶部２１０から取得した性能測定すべきパラメータ・セットを用いて、ウェブ・システム１２０の設定を行う。本発明の実施形態においては、システム制御部２４０は、負荷生成器２５０の起動・停止、ウェブ・システム１２０のプログラムの起動・停止、性能測定の開始・終了などの制御も行う。【００２９】
負荷生成器２５０は、システム制御部２４０からの指示に応じて、パラメータ・セットごとに性能評価のためのシステム負荷として多数のＨＴＴＰリクエストを生成し、順次ウェブ・システム１２０に送信する。負荷生成器２５０は、各パラメータ・セットの性能評価を十分に行うために必要な量の負荷（以下、「フルセットの負荷」と称する）を生成することもできるし、フルセットの負荷を分割した測定単位（以下、「バッチ」と称する）の負荷を生成することもできる。【００３０】
本発明の実施形態では、フルセットの負荷は、それぞれのパラメータ・セットによるウェブ・システム１２０に３０分間ＨＴＴＰリクエストを送信することとして説明をする。しかし、フルセットの負荷は、すべてのパラメータ・セットについて同一量の負荷とする必要はない。具体的には、それぞれのパラメータ・セットに応じた測定結果を得るために、性能測定結果のばらつきが大きい場合はより多くの負荷をかけ、小さい場合はより少ない負荷をかけるようにするなど、それぞれのパラメータ・セットに対して異なる量としてもよい。【００３１】
また、本発明の実施形態では、１バッチの負荷は、５分間リクエストを送信すること（フルセットの負荷である３０分のリクエストの送信を均等に６分割したものである）として説明をする。しかし、バッチのサイズを決定する場合に均等に分割をするのではなく、１つのパラメータ・セット内のバッチ間のサイズを変化するようにすることもできる。また、バッチのサイズをパラメータ・セットごとに変化させることもできる。【００３２】
データ解析部２６０は、評価されるパラメータ・セットごとにウェブ・システム１２０から負荷生成器２５０から送信されたＨＴＴＰリクエストに対する応答の性能測定結果を、ネットワーク１１０を介して取得し、記憶する。データ解析部２６０は、取得した測定結果を解析し、バッチごとの平均値を含む解析結果を必要に応じて、測定制御部２７０に渡す。【００３３】
測定制御部２７０は、負荷生成器２５０が送信したＨＴＴＰリクエストに対するウェブ・システム１２０の応答をデータ解析部２６０に監視させることによって、パラメータ・セットごとの性能測定を制御する。また、測定制御部２７０は、データ解析部２６０から得られた測定単位ごとの平均に基づいて、サンプル平均、サンプル分散、判定基準、合計測定単位数を計算することによって、次に測定すべきパラメータ・セットや測定の終了を判定し、システム制御部２４０に判定結果を送信する。測定制御部２７０は、ユーザに提示するために最終的に最適と判定されたパラメータ・セットの情報を出力部２３０に送信する。【００３４】
図３は、本発明の実施形態における最適化装置１００の初期化動作を表現するフローチャート３００である。処理は、ステップ３０５でスタートし、ステップ３１０で複数のパラメータ・セットが準備され、パラメータ・セット記憶部２１０に記憶される。既述の通り、準備されるパラメータ・セットは、人手で準備してもよいし、所定の規則に従って、コンピュータによって自動生成してもよい。さらに、コンピュータで自動生成されたパラメータ・セットから適宜人手で選択をするようにしてもよい。すなわち、ユーザは、複数のパラメータ・セットをいかようにも準備することができることに留意されたい。【００３５】
処理は、ステップ３１５に進み、入力部２２０からのユーザの入力に応じて、最初に性能評価される初期パラメータ・セットを、パラメータ・セット記憶部２１０に記憶された複数のパラメータ・セットから選択する。本発明の実施の形態では、初期パラメータ・セットをできるだけ性能の良い構成に設定することにより、効果的にパラメータ・セットの最適化をすることができる。そこで、ユーザは、経験や知識に基づいてできる限り性能がよいであろうと思われる初期パラメータ・セットを選択するようにするとよい。例えば、ユーザは、アプリケーション・サーバ１２４の最大ヒープサイズを“物理メモリの１／４”、初期ヒープサイズを“最大ヒープサイズの１／２”、最大スレッドサイズ、最小スレッドサイズを“５０”、最大接続プールサイズ、最小接続プールサイズは“３０”が推奨されているという知識を利用して、初期パラメータ・セットを選択する。【００３６】
処理はステップ３２０へ進み、測定制御部２７０は、適切な負荷の内容を自動的に決定し、フルセットの負荷（すなわち、３０分間のＨＴＴＰリクエスト）の生成を実施する。ところで、ウェブ・システムの性能は負荷に応じて変化するので、異なる構成パラメータ・セットによるウェブ・システム１２０の性能を比較するには、各パラメータ・セットに対する性能測定で同様の適切な負荷をかける必要がある。ウェブ・システム１２０に対する負荷が低い場合には、構成パラメータ・セットの違いによる性能の差が顕著に現れないので、適切な量の負荷を与えなければならない。かかる性質を考慮し、本発明の実施の形態においては、測定制御部２７０は以下のようにして適切な負荷レベルを決定し、生成する。【００３７】
具体的には、測定制御部２７０は、初期構成パラメータ・セットによるウェブ・システム１２０に少ない数（例えば、２〜３とするとよい）のクライアント数で負荷を与え、ウェブ・システム１２０を構成する各資源の資源使用率を取得する。そして、取得された資源使用率の平均値から負荷を上げることによって、飽和状態のスループットと飽和状態におけるクライアント数を求める。測定制御部２７０は、この飽和状態におけるクライアント数の２倍を適切な負荷として決定する。本発明の実施形態においては、以降の構成パラメータ・セットの性能評価においては、ここで決定されたクライアント数を用いて性能測定が実施される。【００３８】
処理は、ステップ３２５へ進み、システム制御部２４０によって初期パラメータ・セットを設定されたウェブ・システム１２０に、ステップ３２０で生成された負荷を与え、初期パラメータ・セットによるシステムの性能測定を実施する。このときは、フルセットの負荷が与えられ（すなわち、３０分間ＨＴＴＰリクエストが送信される）、性能測定結果を監視する。測定開始後、性能測定結果のデータの各指標の統計量を計算し、それらが一定の範囲内に収まっているかを判定することにより、性能値が統計的に定常になったかどうかを判定する。測定終了時間までに性能値が統計的に定常にならないと判定された場合は、そのパラメータ・セットに対する測定は統計的に非定常であると判定し、測定制御部２７０を通じて出力部２３０においてユーザに測定の失敗を知らせるエラーメッセージを表示するとよい。【００３９】
測定終了時間までに性能値が統計的に定常になったと判定されフルセットの性能測定が正常に終了した場合、ステップ３３０において、初期パラメータ・セットおよびその性能測定結果が記憶され、ステップ３３５において処理は終了する。【００４０】
図５は、本発明の実施形態における最適化装置１００によって実現される構成パラメータ・セットの最適化処理の流れを表現するフローチャート４００である。処理は、ステップ４０５でスタートし、ステップ４１０において、まだ性能評価がされていないパラメータ・セットから最も性能が優れていると推定されるパラメータ・セットを選択し、ウェブ・システム１２０のパラメータ設定を行う。なお、本発明の実施形態において、ステップ４１０において評価の対象として選択されたパラメータ・セットを「テスト・パラメータ・セット」と称する。ステップ４１０におけるテスト・パラメータ・セットの選択については、図６を用いて後で詳述する。【００４１】
処理は、ステップ４１５に進み、バッチ単位の負荷の生成がされる。バッチのサイズは、各バッチにおける性能測定値の平均値が独立して正規分布に近くなるように選択すると、それぞれのパラメータ・セットの間の優劣を高い精度で行うことができる。既に述べたように、本発明の実施形態では、１バッチのサイズは、５分間リクエストを送信することである。処理は、ステップ４２０へ進み、１バッチ分のみの負荷がウェブ・システム１２０に与えられ、性能測定がされる。【００４２】
処理はステップ４２５へ進み、ステップ４２０において得られた性能測定の結果に基づいて、テスト・パラメータ・セットと、これまでに既に性能測定されたパラメータ・セットのうち最も性能が優れているもの（本明細書において「最適パラメータ・セット」と称する）のいずれが優れているかが判定される。かかる判定の手法を、以下、図５を用いて説明する。【００４３】
図５は、本発明の実施形態におけるシステムの性能評価の進行を表現するグラフ５００である。グラフ５００の横軸は、ある構成パラメータ・セットに対する性能評価の進行の時間軸を表現する。また、グラフ５００の縦軸は、性能評価の進行のある時点において把握された、テスト・パラメータ・セットの性能と最適パラメータ・セットの性能の優劣を表す評価値を表現する。具体的には、本発明の実施形態においては、性能評価の開始からｒバッチまでのテスト・パラメータ・セットを用いた測定値の積分と、既に評価されたパラメータ・セットのうちの最適パラメータ・セットの平均測定値の性能評価の開始からｒバッチまでの積分の差分に基づいて計算された評価値として利用する。本発明の実施形態においては、ｒは、テスト・パラメータ・セットに関して終了した性能測定のバッチ数を意味する（なお、ｒ＜Ｎの正の整数）。本発明の実施形態においては、最適パラメータ・セットの平均測定値のｒバッチまでの積分は、最適パラメータ・セットの平均測定値にｒを乗じることによって求めることができる。【００４４】
本発明の実施形態のグラフ５００は、切片をαとし線形的に減少する直線５５０および切片を−αとし線形的に増加する直線５４０の２本の線に仕切られた第１の領域５２０、第２の領域５３０、第３の領域を含む。上述の評価値の線グラフ５１０がグラフ５００内にプロットされる。本発明の実施の形態においては、ｒバッチ分の性能評価が終了した時点において把握された最適パラメータ・セットの測定結果の平均値にｒを乗じた値とｒバッチまでの前記テスト・パラメータ・セットを用いた測定結果の積分値の差分の絶対値が比較的小さいために線グラフ５１０が第１の領域５２０（すなわち、評価継続範囲）にとどまっている場合は、テスト・パラメータ・セットと最適パラメータ・セットのいずれが優れているかが不明と判定される。【００４５】
また、本発明の実施形態においては、最適パラメータ・セットの測定結果の平均値にｒを乗じた値がｒバッチまでの前記テスト・パラメータ・セットを用いた測定結果の積分値よりもかなり小さいために第２の領域５３０に入った場合、最適パラメータ・セットよりもテスト・パラメータ・セットの方がより優れていると判定される。最適パラメータ・セットの測定結果の平均値にｒを乗じた値がｒバッチまでの前記テスト・パラメータ・セットを用いた測定結果の積分値よりもかなり大きいために第３の領域５４０に入った場合、テスト・パラメータ・セットよりも最適パラメータ・セットの方がより優れていると判定される。【００４６】
上記において注目すべきは、ｒ＝０のときの評価継続範囲の幅Ｗが２αであるところから減少し、ｒ＝Ｎのときの評価継続範囲の幅Ｗ’が最終的に０となっている点である。すなわち、パラメータ・セットの評価開始後まもなくは測定精度が低いので、最適パラメータ・セットの測定結果の平均値にｒを乗じた値とｒバッチまでの前記テスト・パラメータ・セットを用いた測定結果の積分値の差分の絶対値がある程度大きくないと最適パラメータ・セットとテスト・パラメータのどちらが優れているのか判定できない。逆に、パラメータ・セットの評価が進むにつれて、テスト・パラメータ・セットの測定精度が向上するので、差分の絶対値がより小さくても最適パラメータ・セットとテスト・パラメータのどちらが優れているのか判定できるのである。【００４７】
上述の説明においては、評価継続範囲の幅が線形的に減少する場合を想定したが、評価継続範囲の幅の変化については様々なバリエーションが考えられる。すなわち、最低限、ｒ＜Ｎにおいて、評価継続範囲の幅が０よりも大きければ、本発明の実施形態の最適化装置１００は動作することができることに留意されたい。本発明の実施形態では、Ｗ’がＷよりも小さいことが好ましい。なお、Ｗ’が０よりも大きく、かつｒ＝Ｎのときにグラフ５１０が評価継続範囲にとどまっている場合は、テスト・パラメータ・セットと最適パラメータ・セットのいずれが優れているかが最終的に不明であった旨のエラーメッセージを出力部２３０に表示し、ユーザに知らせるようにするとよい。【００４８】
以上の手法に従って、ステップ４２５において、テスト・パラメータ・セットと最適パラメータ・セットのいずれが優れているかが不明と判定された場合、処理は、ステップ４２５からステップ４１５に戻り、さらにステップ４１５、ステップ４２０が繰り返される。すなわち、前記評価継続範囲を性能悪化または性能向上の方向に外れるまで、ステップ４１５、ステップ４２０が繰り返されることになる。ここで、本発明の実施形態においては、ステップ４１５、ステップ４２０が繰り返されるごとに、評価継続範囲の幅が狭くなり、最終的には幅が０となる。従って、テスト・パラメータ・セットと最適パラメータ・セットの優劣が最終的には判定されることになることに留意されたい。【００４９】
ステップ４２５において、テスト・パラメータ・セットがより優れている（すなわち、前記評価継続範囲を性能向上の方向に外れた）と判定された場合、処理は、ステップ４２５からステップ４３０へ進み、テスト・パラメータ・セットによるウェブ・システム１２０に対してフルセット（３０分）の負荷が与えられ、性能測定がされる。次に、処理は、ステップ４３５へ進み、テスト・パラメータ・セットとその測定結果を最適パラメータ・セットのものとして記憶する。処理は、ステップ４４０へ進む。【００５０】
ステップ４２５において最適パラメータ・セットがより優れている（すなわち、性能悪化の方向に前記評価継続範囲を外れた）と判定された場合、処理は、ステップ４２５から直接にステップ４４０へ進み、テスト・パラメータ・セットに関する性能評価を終了する。こうすることによって、そのテスト・パラメータ・セットについて、以降の測定をする必要がなくなり、評価時間の短縮に資することとなる。【００５１】
ステップ４４０において、まだ性能評価のされていないパラメータ・セットが残っているかどうかが判定される。ステップ４４０において、パラメータ・セットが残っていると判定された場合、処理は、ステップ４４０からＹＥＳの矢印を介してステップ４１０へ戻り、残っているパラメータ・セットから新たなテスト・パラメータ・セットが選択され、上述のステップが繰り返される。【００５２】
ステップ４４０において、パラメータ・セットが残っていないと判定された場合、処理はステップ４４０からステップ４４５へ進み、現在の最適パラメータ・セットを最終的なものとして出力部２３０を介してユーザに提示した上で、処理を終了する。【００５３】
図６は、本発明の実施形態における最適と推定されるパラメータ・セットを選択する流れを表現するフローチャート６００である。フローチャート６００によって、図４に示されるフローチャート４００のステップ４１０における処理がより明確に説明されるだろう。処理は、ステップ６０５からスタートし、ステップ６１０でこれまで既に性能測定されたパラメータ・セットの測定結果が読み出される。【００５４】
処理は、ステップ６１５へ進み、ステップ６１０で読み出された複数の測定結果から、未評価のパラメータ・セットのうち最も性能が高いであろうと推定されるものを選択する情報処理が開始される。かかる情報処理としては、過去の性能測定結果に基づいて、未測定の評価対象についての性能の推定を行う手法を用いることができる。より具体的には、二乗誤差を最小にするように回帰関数を選択することによって性能曲線を求め、その性能曲線を用いて最も性能が高いであろうパラメータ・セットを選択することができる。【００５５】
一例として、性能曲線を二次曲線で近似する場合を、図７（ａ）を用いて説明する。かかる場合、過去の測定結果（７１０、７２０、７３０、７４０）を使用して（数１)を最
小とするように回帰関数を選択することによって、性能曲線（７５０）を算出し、算出された性能曲線に基づいて最良と推定されるパラメータ・セット（７６０）を特定することができる（図７（ａ）のグラフを参照）。なお、（数１)においては、説明を簡単にする
ために、変数パラメータを１種類のみとしているが変数パラメータを複数として多次元の性能曲線を算出することができることは勿論である。
【数１】
2008001678.tif 000002
【００５６】
ところで、本発明の実施の形態においては、既に述べたように性能測定は、常にフルセット（３０分間）で行われるわけではないので、ステップ６１０で読み出された複数の測定結果（７１０、７２０、７３０、７４０）の測定精度（図７（ｂ）の７１５、７２５、７３５、７４５）が異なり得る。例えば、あるテスト・パラメータ・セットが、１０分間だけ負荷を与えて性能評価を行った時点で、そのときの最適パラメータ・セットよりも性能が悪いと判断された場合は、その時点でそのテスト・パラメータ・セットの評価は終了することとなっている（図４のステップ４２５参照）。かかる性能評価を実施したパラメータ・セットについては、最適化装置１００に記憶された性能値は、当然、フルセット（３０分間）で行った性能評価の性能値よりも精度は低くなる。【００５７】
本発明の実施の形態においては、かかる精度の違いによって、すべての構成パラメータ・セットについてフルセットの性能評価を行う場合と比較して、相対的に精度の低い性能曲線が算出される可能性がある。従って、本発明の実施形態においては、精度の高いものについては高く評価し、精度の低いものを低く評価して性能曲線を算出することが好ましい。具体的には、本発明の実施形態においては、精度に関する重み付けとして、（１）それぞれのパラメータ・セットに対して実施された性能評価のバッチ数Ｎｉ、および（２）それぞれのパラメータ・セットの性能評価値のばらつきを表すサンプル分散Ｓｉ、を用いた二乗誤差を最小にするように回帰することによって性能曲線を求めることが好ましい。【００５８】
従って、性能曲線を二次曲線で近似し、重み付け二乗誤差を使用して性能曲線を算出する場合は、（数２)を最小とするように回帰関数を選択することによって、性能曲線を算
出することができる。
【数２】
2008001678.tif 000003
【００５９】
なお、パラメータ・セットｉに関するサンプル分散Ｓｉは、（数３)の計算を最適化装
置１００において行うことによって求めることができる。
【数３】
2008001678.tif 000004
【００６０】
処理は、ステップ６２０へ進み、算出された性能曲線を使用して、未測定のパラメータ・セットから最も性能が良いであろうと推定されるパラメータ・セットを探索する。処理は、ステップ６２５へ進み、ステップ６２０の探索によってパラメータ・セットが発見されたかどうかが判定される。ステップ６２５で発見されたと判定された場合、処理はステップ５２５からＹＥＳの矢印を介してステップ６３５へ進み、当該パラメータ・セットを最も性能がよいものと推定し、選択する。処理は、ステップ６４０へ進み、パラメータ・セットの選択を終了し、図４のステップ４１５以降の処理を行う。【００６１】
ステップ６２５で発見されないと判定された場合は、ステップ５３０へ進み、他の既知の手法（例えば、探索アルゴリズムなど）を用いて最も性能が良いと推定されるパラメータ・セットを探索する。そして、処理は、ステップ６２５へ進み、他の手法によって探索されたパラメータ・セットを最良のものと推定して、選択する。処理は、ステップ６４０へ進み、パラメータ・セットの選択を終了し、図４のステップ４１５以降の処理を行う。【００６２】
図８は、本発明の実施の形態による最適化装置１００を実現するのに好適な情報処理装置のハードウェア構成の一例を示した図である。情報処理装置は、バス２に接続されたＣＰＵ（中央処理装置）１とメインメモリ４を含んでいる。ハードディスク装置１３、３０、およびＣＤ−ＲＯＭ装置２６、２９、フレキシブル・ディスク装置２０、ＭＯ装置２８、ＤＶＤ装置３１のようなリムーバブル・ストレージ（記録メディアを交換可能な外部記憶システム）がフロッピー（Ｒ）ディスクコントローラ１９、ＩＤＥコントローラ２５、ＳＣＳＩコントローラ２７などを経由してバス２へ接続されている。【００６３】
フレキシブル・ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭのような記憶メディアが、リムーバブル・ストレージに挿入される。これらの記憶メディアやハードディスク装置１３、３０、ＲＯＭ１４には、オペレーティング・システムと協働してＣＰＵ等に命令を与え、本発明を実施するためのコンピュータ・プログラムのコードを記録することができる。メインメモリ４にロードされることによってコンピュータ・プログラムは実行される。コンピュータ・プログラムは圧縮し、また複数に分割して複数の媒体に記録することもできる。【００６４】
情報処理装置は、キーボード／マウス・コントローラ５を経由して、キーボード６やマウス７のような入力デバイスからの入力を受ける。情報処理装置は、視覚データをユーザに提示するための表示装置１１にＤＡＣ／ＬＣＤＣ１０を経由して接続される。【００６５】
情報処理装置は、ネットワーク・アダプタ１８（イーサネット（Ｒ）・カードやトークンリング・カード）等を介してネットワークに接続し、他のコンピュータ等と通信を行うことが可能である。図示はされていないが、パラレルポートを介してプリンタと接続することや、シリアルポートを介してモデムを接続することも可能である。【００６６】
以上の説明により、本発明の実施の形態によるデータ処理システム１００を実現するのに好適な情報処理装置は、通常のパーソナルコンピュータ、ワークステーション、メインフレームなどの情報処理装置、または、これらの組み合わせによって実現されることが容易に理解されるであろう。ただし、これらの構成要素は例示であり、そのすべての構成要素が本発明の必須構成要素となるわけではない。【００６７】
本発明の実施の形態において使用される情報処理装置の各ハードウェア構成要素を、複数のマシンを組み合わせ、それらに機能を配分し実施する等の種々の変更は当業者によって容易に想定され得ることは勿論である。それらの変更は、当然に本発明の思想に包含される概念である。【００６８】
最適化装置１００は、Ｍｉｃｒｏｓｏｆｔ  Ｃｏｒｐｏｒａｔｉｏｎが提供するＷｉｎｄｏｗｓ（Ｒ）オペレーティング・システム、Ａｐｐｌｅ  Ｃｏｍｐｕｔｅｒ  Ｉｎｃが提供するＭａｃＯＳ（Ｒ）、Ｘ  Ｗｉｎｄｏｗ  Ｓｙｓｔｅｍを備えるＵＮＩＸ（Ｒ）系システム（たとえば、Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｂｕｓｉｎｅｓｓ  Ｍａｃｈｉｎｅｓ  Ｃｏｒｐｏｒａｔｉｏｎが提供するＡＩＸ（Ｒ）あるいはＬｉｎｕｘ（Ｒ）など）のような、ＧＵＩ（グラフィカル・ユーザー・インターフェース）マルチウインドウ環境をサポートするオペレーティング・システムを採用することができる。【００６９】
以上から、本発明の実施の形態において使用されるデータ処理システムは、特定のマルチウインドウ・オペレーティング・システム環境に限定されるものではないことを理解することができる。すなわち、オペレーティング・システムは、アプリケーション・ソフトウェアなどがデータ処理システムの資源を利用できるようにする資源管理機能を提供することができるものであれば、いかなるものをも採用することができる。なお、資源管理機能には、ハードウェア資源管理機能、ファイルハンドル機能、スプール機能、ジョブ管理機能、記憶保護機能、仮想記憶管理機能などが含まれ得るが、これらの機能については、当業者によく知られたものであるので詳細な説明は省略する。【００７０】
また、本発明は、ハードウェア、ソフトウェア、またはハードウェア及びソフトウェアの組み合わせとして実現可能である。ハードウェアとソフトウェアの組み合わせによる実行において、所定のプログラムを有するデータ処理システムにおける実行が典型的な例として挙げられる。かかる場合、該所定プログラムが該データ処理システムにロードされ実行されることにより、該プログラムは、データ処理システムを制御し、本発明にかかる処理を実行させる。このプログラムは、任意の言語・コード・表記によって表現可能な命令群から構成される。そのような命令群は、システムが特定の機能を直接、または１．他の言語・コード・表記への変換、２．他の媒体への複製、のいずれか一方もしくは双方が行われた後に、実行することを可能にするものである。【００７１】
もちろん、本発明は、そのようなプログラム自体のみならず、プログラムを記録した媒体もその範囲に含むものである。本発明の機能を実行するためのプログラムは、フレキシブル・ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＤＶＤ、ハードディスク装置、ＲＯＭ、ＭＲＡＭ、ＲＡＭ等の任意のコンピュータ読み取り可能な記録媒体に格納することができる。かかるプログラムは、記録媒体への格納のために、通信回線で接続する他のデータ処理システムからダウンロードしたり、他の記録媒体から複製したりすることができる。また、かかるプログラムは、圧縮し、または複数に分割して、単一または複数の記録媒体に格納することもできる。また、様々な形態で、本発明を実施するプログラム製品を提供することも勿論可能であることにも留意されたい。【００７２】
以上、本発明の実施形態によれば、効率よく複数の構成パラメータからなるウェブ・システムに対するパラメータ・セットを最適化することができる。従って、性能の高いウェブ・システムをより効率的に構築することができることが容易に理解される。【００７３】
上記の実施の形態に、種々の変更または改良を加えることが可能であることが当業者に明らかである。たとえば、本発明の実施の形態では、準備したパラメータ・セットすべてについて性能評価を行ったが、ある所定の条件、例えば、（１）システムの性能評価開始からあらかじめ定められた時間が経過したこと、（２）あらかじめ定められた数のパラメータ・セットを性能評価したこと、などが充足されたことをもってパラメータ・セットの評価をやめるようにしてもよい。そのような変更または改良を加えた形態も当然に本発明の技術的範囲に含まれることに留意されたい。
【図面の簡単な説明】
【００７４】
【図１】本発明の実施形態おけるパラメータ・セット最適化装置および最適化装置に接続されたウェブ・システムを示した図である。
【図２】本発明の実施形態における最適化装置の機能ブロック図である。
【図３】本発明の実施形態におけるシステムの初期動作を表現するフローチャートである。
【図４】本発明の実施形態におけるシステムの動作を表現するフローチャートである。
【図５】本発明の実施形態におけるシステムの性能評価の進行を表現するグラフである。
【図６】本発明の実施形態における最適と推定されるパラメータ・セットを選択する流れを表現するフローチャートである。
【図７】本発明の実施形態における最適と推定されるパラメータ・セットを選択する手法を説明するための図である。
【図８】本発明の実施形態おける最適化装置を実現するのに好適な情報処理装置のハードウェア構成の一例を示した図である。
【図１】
2008001678.tif 000005
【図２】
2008001678.tif 000006
【図３】
2008001678.tif 000007
【図４】
2008001678.tif 000008
【図５】
2008001678.tif 000009
【図６】
2008001678.tif 000010
【図７】
2008001678.tif 000011
【図８】
2008001678.tif 000012