(57)【要約】      （修正有）【課題】シンプルなシステム構成によってサーバ装置の処理能力を最大限引き出し，応答時間の短縮と許容応答時間の確保とが可能なようにサーバ装置の最大並列処理数の設定値と最大待ち行列数の設定値を決定できるようにする。【解決手段】サーバ装置Ｙに対して同時送信する前記処理要求の数（サーバ装置Ｙにおける並列処理数）を変えた各条件下で，その条件（並列処理数）ごとの応答時間を測定してサーバ装置Ｙの処理効率を処理効率推定処理部により推定し，その推定結果に基づいてサーバ装置Ｙにおける最大並列処理数の設定値を最大並列処理数決定部により決定する。さらに，与えられる応答許容時間と，決定された最大並列処理数の設定値と，その設定値に対応する前記処理効率とにより前記最大待ち行列数の設定値を最大待ち行列数決定部により決定する。【選択図】図１
2006221516.tif 000002
【特許請求の範囲】
【請求項１】
所定の通信回線を介して複数の端末装置から受信される処理要求に応じて処理を実行するサーバ装置について，複数の前記処理要求が受信された場合の前記サーバ装置における前記処理要求の最大並列処理数の設定値と最大待ち行列数の設定値とを決定する通信サーバ設定値決定装置であって，
前記サーバ装置に対して前記通信回線を介して前記サーバ装置が並列処理可能な数の１又は複数の前記処理要求を略同時に送信しその応答を受信する処理を，略同時に送信する前記処理要求の数を変えて複数回実行する要求通信手段と，
前記要求通信手段による前記処理要求の送信及びその応答の受信ごとに，その応答時間を測定する応答時間測定手段と，
前記応答時間測定手段の測定結果に基づいて前記サーバ装置における並列処理数ごとの処理効率を推定する処理効率推定手段と，
前記処理効率推定手段の推定結果に基づいて前記サーバ装置における前記最大並列処理数の設定値を決定する最大並列処理数決定手段と，
前記サーバ装置の設計条件として与えられる前記処理要求に対する応答許容時間と前記最大並列処理数決定手段により決定された前記最大並列処理数の設定値と該設定値に対応する前記処理効率推定手段の推定結果である前記処理効率とに基づいて前記サーバ装置における前記処理要求の最大待ち行列数の設定値を決定する最大待ち行列数決定手段と，
を具備してなることを特徴とする通信サーバ設定値決定装置。
【請求項２】
前記最大並列処理数決定手段が，前記処理効率が最も高くなる前記サーバ装置における並列処理数を前記最大並列処理数の設定値に決定してなる請求項１に記載の通信サーバ設定値決定装置。
【請求項３】
前記処理効率推定手段により推定される前記処理効率が，前記サーバ装置における１つの前記処理要求当たりの応答時間を表す指標である請求項１又は２のいずれかに記載の通信サーバ設定値決定装置。
【請求項４】
前記最大待ち行列数決定手段が，前記サーバ装置により前記最大並列処理数決定手段により決定された前記最大並列処理数の設定値の下で，該設定値に対応する前記処理効率推定手段の推定結果である１つの前記処理要求当たりの応答時間で処理がなされたとしたときに，最大の応答時間が前記応答許容時間と略等しくなるように前記最大待ち行列数の設定値を決定してなる請求項３に記載の通信サーバ設定値決定装置。
【請求項５】
所定の通信回線を介して複数の端末装置から受信される処理要求に応じて処理を実行するサーバ装置について，複数の前記処理要求が受信された場合の前記サーバ装置における前記処理要求の最大並列処理数の設定値と最大待ち行列数の設定値とを決定する処理を，前記サーバ装置と前記通信回線を介して通信可能なコンピュータに実行させるための通信サーバ設定値決定プログラムであって，
前記サーバ装置に対して前記サーバ装置が並列処理可能な数の１又は複数の前記処理要求を略同時に送信しその応答を受信する処理を，略同時に送信する前記処理要求の数を変えて複数回実行させる要求通信処理と，
前記要求通信処理による前記処理要求の送信及びその応答の受信ごとに，その応答時間を測定して記憶手段に記憶させる応答時間測定処理と，
前記記憶手段に記憶された前記応答時間測定処理の測定結果に基づいて前記サーバ装置における前記処理要求の並列処理数ごとの処理効率を推定する処理効率推定処理と，
前記処理効率推定処理の推定結果に基づいて前記サーバ装置における前記最大並列処理数の設定値を決定する最大並列処理数決定処理と，
前記サーバ装置の設計条件として与えられる前記処理要求に対する応答許容時間と前記最大並列処理数決定処理により決定された前記最大並列処理数の設定値と該設定値に対応する前記処理効率推定処理の推定結果である前記処理効率とに基づいて前記サーバ装置における前記処理要求の最大待ち行列数の設定値を決定する最大待ち行列数決定処理と，
をコンピュータに実行させるための通信サーバ設定値決定プログラム。
【請求項６】
所定の通信回線を介して複数の端末装置から受信される処理要求に応じて処理を実行するサーバ装置について，複数の前記処理要求が受信された場合の前記サーバ装置における前記処理要求の最大並列処理数の設定値と最大待ち行列数の設定値とを決定する通信サーバ設定値決定方法であって，
前記サーバ装置に対して前記通信回線を介して前記サーバ装置が並列処理可能な数の１又は複数の前記処理要求を略同時に送信しその応答を受信する処理を，略同時に送信する前記処理要求の数を変えて複数回実行する要求通信工程と，
前記要求通信工程による前記処理要求の送信及びその応答の受信ごとに，その応答時間を測定する応答時間測定工程と，
前記応答時間測定処理の測定結果に基づいて前記サーバ装置における前記処理要求の並列処理数ごとの処理効率を推定する処理効率推定工程と，
前記処理効率推定工程の推定結果に基づいて前記サーバ装置における前記最大並列処理数の設定値を決定する最大並列処理数決定工程と，
前記サーバ装置の設計条件として与えられる前記処理要求に対する応答許容時間と前記最大並列処理数決定工程により決定された前記最大並列処理数の設定値と該設定値に対応する前記処理効率推定工程の推定結果である前記処理効率とに基づいて前記サーバ装置における前記処理要求の最大待ち行列数の設定値を決定する最大待ち行列数決定工程と，
を有してなることを特徴とする通信サーバ設定値決定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，インターネット等の通信回線を介して複数の端末装置から受信される処理要求に応じて処理を実行するサーバ装置について，複数の前記処理要求が受信された場合の前記サーバ装置における前記処理要求の最大並列処理数の設定値と最大待ち行列数の設定値とを決定する通信サーバ設定値決定装置及びその方法並びにその処理を前記サーバ装置と通信可能なコンピュータに実行させるための通信サーバ設定値決定プログラムに関するものである。
【背景技術】
【０００２】
インターネット等の通信回線を介して複数の端末装置から受信される処理要求（コンテンツの送信要求等）に応じて処理を実行するサーバ装置（通信サーバ装置）では，ほぼ同時に複数の処理要求（同時アクセス）があった場合に，その処理要求に応じた処理を，いわゆるマルチタスク処理やスレッド処理によって最大いくつまで並行処理を行うか（以下，その数を最大並列処理数という）の設定値や，その最大並列処理数の設定値を超える数の前記処理要求が重複して（ほぼ同時に）受信された場合に，その処理要求をいくつまで待ち行列に加えるか（以下，その数を最大待ち行列数という）の設定値により，端末装置への応答時間が大きく変わる。
例えば，前記最大並列処理数の設定値がサーバ装置の処理能力に対して小さ過ぎると，サーバ装置の能力を十分引き出せない結果，処理要求の待ち行列数が多くなり，応答時間が長くなる。また，そのような場合に，許容される最大応答時間（許容応答時間）を満たすために前記最大待ち行列数を小さくすると，許容応答時間を満たすことができる反面，受け付けが拒否される処理要求（インターネット等で，「サーバが混雑しています」等の応答が端末装置に応答される状態）が増える。
一方，前記最大並列処理数の設定値がサーバ装置の処理能力に対して多き過ぎると，サーバ装置の処理効率が著しく低下し，一部の処理要求を待ち行列に加えて後から処理するよりも返って応答時間が長くなる。
従って，サーバ装置における最大並列処理数や最大待ち行列数の設定値を適切（最適）に決定することは，サーバ装置の処理能力を最大限引き出して応答時間を最小化する上で，非常に重要な設計項目である。
従来，このようなサーバ装置における最大並列処理数や最大待ち行列数の設定値は，経験的或いは試行錯誤的に設計者の判断によって決定されていた。
また，比較的大規模なサーバシステムでは，複数のサーバ装置と端末装置からの処理要求を受け付けて複数のサーバ装置へその処理を振り分けるロードバランサとを備えた負荷分散システムが採用されることが多い。
また，例えば，特許文献１には，サーバの処理能力を表すパラメータとして，ファイルサイズに依存する処理容量と，オーバヘッド処理時間と，複数端末からの同時アクセス時の性能劣化度とを用いて，サーバで所定サイズのファイルを送信するのに要する処理時間を推定する方法の一例が示されている。
【特許文献１】特開２００４−００５１３５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら，サーバ装置における最大並列処理数や最大待ち行列数の設定値を，設計者により経験的或いは試行錯誤的に決定すると，それらが適切（最適）に決定されず，サーバ装置の処理能力を十分に引き出すことができない，或いは設計条件として要求される応答時間を満足できないという結果になりやすいという問題点があった。
また，ロードバランサを設けて負荷分散を行うサーバシステムは，比較的小規模なサーバ装置に適用することはシステムが複雑化，高コスト化して現実的でないという問題点があった。
また，特許文献１に示される技術は，端末からの同時アクセス数は考慮されているが，前記最大待ち行列数が考慮されておらず，設計条件として要求される許容応答時間を保証できないという問題点があった。
従って，本発明は上記事情に鑑みてなされたものであり，その目的とするところは，シンプルなシステム構成によってサーバ装置の処理能力を最大限引き出し，応答時間の短縮と許容応答時間の確保とが可能なようにサーバ装置の最大並列処理数の設定値と最大待ち行列数の設定値を決定できる通信サーバ設定値決定装置及びその方法並びにその処理を前記サーバ装置と通信可能なコンピュータに実行させるための通信サーバ設定値決定プログラムを提供することにある。
【課題を解決するための手段】
【０００４】
上記目的を達成するために本発明は，インターネット等の通信回線を介して複数の端末装置から受信される処理要求に応じて処理を実行するサーバ装置について，複数の前記処理要求が受信された場合の前記サーバ装置における前記処理要求の最大並列処理数の設定値と最大待ち行列数の設定値とを決定する通信サーバ設定値決定装置及びその方法並びにその処理を前記サーバ装置と通信可能なコンピュータに実行させるための通信サーバ設定値決定プログラムとして構成されるものであり，以下のような処理を実行するものである。
即ち，まず，前記サーバ装置に対し，前記通信回線を介して前記サーバ装置が並列処理可能な数（例えば，ＯＳ等の制約上の最大数）の１又は複数の前記処理要求を同時に（ほぼ同時を含む）送信してその応答を受信する処理を，その同時に送信する前記処理要求の数を変えて複数回実行し，そのときの前記処理要求の送信及びその応答の受信ごとに，前記サーバ装置の応答時間を測定し，その測定結果に基づいて前記サーバ装置における並列処理数ごとの処理効率を推定する。
ここで，送信した前記処理要求に対する全ての応答の完了後に次の前記処理要求を送信するようにすれば，同時送信する前記処理要求の数は，前記サーバ装置側における前記処理要求に応じた処理の並列処理数を表す。従って，同時送信する前記処理要求の数を変えた各条件下で，その条件（並列処理数）ごとの応答時間を測定することにより，前記サーバ装置における並列処理数ごとの処理効率を推定することが可能である。
推定する前記処理効率としては，例えば，前記サーバ装置における前記処理要求に応じた処理の並列処理数ごとに，１つの前記処理要求当たりの応答時間（即ち，同時送信した全処理要求に対する応答が完了するまでの応答時間を，同時送信した前記処理要求の数で割った値）を表す指標（その応答時間そのものを含む）を求める（推定する）ことが考えられる。
次に，前記処理効率の推定結果に基づいて前記サーバ装置における前記最大並列処理数の設定値を決定する。例えば，前記処理効率が最も高くなる前記サーバ装置における並列処理数（即ち，同時送信した前記処理要求の数）を前記最大並列処理数の設定値に決定する。
これにより，前記サーバ装置の能力を最大限に引き出せる前記最大並列処理数を設定できる。
そしてさらに，前記サーバ装置の設計条件として与えられる前記処理要求に対する応答許容時間と，前述の処理により決定された前記最大並列処理数の設定値と，その設定値に対応する前述の推定の結果である前記処理効率とに基づいて，前記サーバ装置における前記処理要求の最大待ち行列数の設定値を決定する。
これにより，サーバ装置の処理能力を最大限に引き出せるような前記最大並列処理数の設定値が設定された状態で，要求される前記応答許容時間を保証できるように前記最大待ち行列数の設定値を決定できる。
例えば，前記サーバ装置により前記最大並列処理数決定手段により決定された前記最大並列処理数の設定値の下で，その設定値に対応する前記処理効率の一例である１つの前記処理要求当たりの応答時間で処理がなされたとしたときに，最大の応答時間が前記応答許容時間と等しく或いはそれに近い状態となるように前記最大待ち行列数の設定値を決定することが考えられる。もちろん，所定の余裕率を考慮して，前記最大の応答時間が前記応答許容時間よりも小さくなるように前記最大待ち行列数の設定値を決定することも考えられる。
【発明の効果】
【０００５】
本発明によれば，前記サーバ装置に対して同時送信する前記処理要求の数（即ち，前記サーバ装置における並列処理数）を変えた各条件下で，その条件（並列処理数）ごとの応答時間を測定して前記サーバ装置の処理効率を推定し，その推定結果に基づいて前記サーバ装置における前記最大並列処理数の設定値を決定するので，前記サーバ装置の能力を最大限に引き出して応答時間を最大限に短縮できる前記最大並列処理数を設定できる。
さらに，前記サーバ装置の設計条件として与えられる前記処理要求に対する応答許容時間と，前述の処理により決定された前記最大並列処理数の設定値と，その設定値に対応する前述の推定の結果である前記処理効率とに基づいて，前記サーバ装置における前記処理要求の最大待ち行列数の設定値を決定するので，要求される前記応答許容時間を保証（確保）できるように前記最大待ち行列数の設定値を決定できる。
以上より，負荷分散システムのような複雑なシステム構成を要しないシンプルな構成により，前記サーバ装置の能力範囲内で，応答時間を短縮して許容応答時間を保証しつつ前記処理要求の受け付が拒否される頻度が極力少なくなるような前記最大並列処理数と前記最大待ち行列数の各設定値を決定できる。
【発明を実施するための最良の形態】
【０００６】
以下添付図面を参照しながら，本発明の実施の形態について説明し，本発明の理解に供する。尚，以下の実施の形態は，本発明を具体化した一例であって，本発明の技術的範囲を限定する性格のものではない。
ここに，図１は本発明の実施形態に係る通信サーバ設定値決定装置Ｘの主要部の概略構成を表すブロック図，図２は通信サーバ設定値決定装置Ｘにおけるサーバ装置Ｙの最大並列処理数及び最大待ち行列数の各設定値を決定する処理の手順を表すフローチャート，図３はサーバ装置Ｙにおける並列処理数と通信サーバ設定値決定装置Ｘにより推定された処理効率との関係を表すグラフ，図４は通信サーバ設定値決定装置Ｘにより決定された最大並列処理数及び最大待ち行列数の設定値が設定されたサーバ装置Ｙの負荷試験により得られた応答時間の測定結果を表すグラフである。
【０００７】
まず，図１に示すブロック図を用いて，本発明の実施形態に係る通信サーバ設定値決定装置Ｘ（以下，単に決定装置Ｘという）の概略構成について説明する。
前記決定装置Ｘは，一般的なパーソナルコンピュータ等の計算機であり，インターネット等のネットワーク９（所定の通信回線の一例）を介して複数の端末装置（不図示）から受信される処理要求（例えば，所望のコンテンツの送信要求等）に応じて処理を実行するサーバ装置Ｙについて，複数の前記処理要求が受信された場合の前記サーバ装置Ｙにおける前記処理要求の最大並列処理数の設定値と，最大待ち行列数の設定値とを決定するための装置である。従って，前記端末装置とネットワーク接続されて実際のシステム運用がなされる前に，前記サーバ装置Ｙとネットワーク接続されて所定のテスト通信を行うものであり，前記最大並列処理数と前記最大待ち行列数の各設定値が決定され，その設定値が前記サーバ装置Ｙに設定された後のシステム運用段階では，前記決定装置Ｘと前記サーバ装置Ｙとの間で通信は行われない。
【０００８】
図１に示すように，前記決定装置Ｘは，ＣＰＵ及びＲＡＭやＲＯＭ等のその周辺装置からなる演算部１と，ハードディスク等の読み書き自在の不揮発性記憶手段である記憶部２と，前記ネットワーク９を介した通信制御を行う通信制御部３と，液晶ディスプレイやＣＲＴディスプレイ等の表示手段である表示部４と，キーボードやマウス等の情報入力手段である操作部５等を具備している。
前記通信制御部３は，前記ネットワーク９を介して，前記最大並列処理数と前記最大待ち行列数の各設定値の決定対象となる前記サーバ装置Ｙと通信可能に接続されており，これにより，前記決定装置Ｘは，前記サーバ装置Ｙとの間で，システムの実運用段階でそのサーバ装置Ｙと接続される前記端末装置と同等の条件で通信可能である。
前記記憶部２には，前記演算部１によって実行される所定のサーバ設定値決定プログラムがインストールされており，前記演算部１が前記サーバ設定値決定プログラムを実行することにより，当該決定装置Ｘは，前記サーバ装置Ｙにおける前記最大並列処理数及び前記最大待ち行列数の各設定値を決定する装置として機能する。
ここで，前記サーバ設定値決定プログラムは，要求通信処理部１１，応答時間測定処理部１２，処理効率推定処理部１３，最大並列処理数決定部１４及び最大待ち行列数決定部１５等のプログラムモジュールから構成されている。それらの処理については後述する。
また，前記サーバ装置Ｙは，インターネットサーバやイントラネットサーバ等として機能する一般的ないわゆるサーバ計算機であり，ハードウェア構成は，前記決定装置Ｘと同様である。また，前記サーバ装置Ｙには，前記ネットワーク９を介して前記端末装置から前記処理要求を受け付けるとともに，それに対応する処理の結果を前記端末装置に応答（返信）するＷｅｂサーバプログラムや，前記処理要求に応じて要求される処理，例えば，予め記憶部に記憶されたコンテンツデータベースを検索して要求されるコンテンツを抽出する処理や，指定されたキーワードに対応する接続先ＵＲＬ（リンク先）をリスト化したＨＴＭＬデータを自動生成する処理等を行うアプリケーションプログラム（ＣＧＩプログラム等）等がインストールされており，それらプログラムの実行により，前記端末装置からの処理要求に対応する処理を実行し応答を返す。
【０００９】
次に，図２に示すフローチャートを用いて，前記決定装置Ｘが実行する前記サーバ装置Ｙにおける前記最大並列処理数及び前記最大待ち行列数の各設定値を決定する処理の手順について説明する。本処理は，前述したように，前記演算部１が前記サーバ設定値決定プログラムを実行することにより具現される。
まず，前記決定装置Ｘは，所定の変数ｉを初期化（１を代入）した上で（Ｓ１），その変数ｉの値を順次インクリメントしながら（Ｓ４）その値が予め定められた設定値Ｎmaxを超えるまで以下に示すステップＳ２及びＳ３の処理を繰り返し（即ち，Ｎmax回）実行する。
まず，ステップＳ２では，前記決定装置Ｘは，前記ネットワーク９を介して前記サーバ装置Ｙに対し，前記通信制御部３を通じてｉ個の前記処理要求をスレッド処理やマルチタスク処理等により同時に送信するとともに，その応答を前記サーバ装置Ｙから受信する（Ｓ２）。本処理は，前記要求通信処理部１１により具現される。
ここで，前記設定値Ｎmaxは，前記サーバ装置Ｙが並列処理可能な数（例えば，前記サーバ装置ＹにおけるＯＳ等の制約上の最大数，或いは経験上現実的と考えられる最大の並列処理数）に設定されている。従って，このステップＳ２では，前記サーバ装置Ｙが並列処理可能な数（ｉ≦Ｎmaxであるので）の１又は複数の前記処理要求が同時に送信される。これにより，前記サーバ装置Ｙでは，ステップＳ２において同時送信された前記処理要求各々に応じた処理が並列処理されることになる。なお，前記サーバ装置Ｙは，その並行処理数が特に制限されていない状態，或いは前記設定値Ｎmax以上の範囲で制限されている状態であることはいうまでもない。
また，前記処理要求の同時送信とは，実質的な同時送信をいうものであり，スレッド処理におけるジョブスケジューリングや前記ネットワーク９におけるトークン衝突の制約等により送信タイミングが多少ずれることも同時送信に含まれる概念である。
【００１０】
また，ステップＳ２において前記サーバ装置Ｙに送信する前記処理要求は，例えば，前記サーバ装置Ｙの記憶部に予め記憶されたコンテンツデータベースを検索し，所定のコンテンツを抽出して返信する処理の要求や，前記サーバ装置Ｙの記憶部に予め記憶されたＵＲＬデータベースを検索し，所定のキーワードに関連する接続先ＵＲＬ（リンク先）をリスト化したＨＴＭＬデータを自動生成して返信する処理の要求等が考えられる。
ここで，同時送信される複数の前記処理要求は，全て同じ内容の処理要求とすること，及び異なる内容の処理要求とすることが考えられる。但し，異なる内容の処理要求を同時送信する場合，前記処理要求１つ当たりの前記サーバ装置Ｙにおける演算負荷が同等となるようにすることが望ましい。
また，ステップＳ２において前記サーバ装置Ｙに送信する前記処理要求は，例えば，実際のシステム運用段階で想定される平均的な演算負荷に相当するものとすることや，或いは実際のシステム運用段階で想定される最大の演算負荷に相当するものとすること等が考えられる。ステップＳ２において用いる前記処理要求は，前記サーバ装置Ｙの実運用段階で要求される仕様に応じて適切なものを選定する。例えば，平均的な応答時間が所定の許容応答時間内に収まることが求められる場合には，平均的な演算負荷相当の前記処理要求を選定し，最大の応答時間が所定の許容応答時間内に収まることが求められる場合には，最大の演算負荷相当の前記処理要求を選定する等である。
【００１１】
次に，ステップＳ３では，前記決定装置Ｘは，ステップＳ２における全ての前記処理要求の送信からそれらの応答の受信完了までの時間である応答時間を測定し，その測定結果を前記処理要求の同時送信数に対応させて前記記憶部２に記憶させる（Ｓ３）。本処理は，前記応答時間測定処理部１２により具現される。
そして，前記決定装置Ｘは，前記変数ｉをインクリメントしながら（Ｓ４），即ち，同時送信する前記処理要求の数を変えながら，前記変数ｉがＮmax以下であると判別（Ｓ５）されている間，１又は複数の前記処理要求の同時送信及びその応答の受信を行う処理（Ｓ２）と，その処理ごとに前記応答時間を測定する処理（Ｓ３，応答時間測定処理の一例）とを複数回（Ｎmax回）実行する（Ｓ２，Ｓ４，Ｓ５が要求通信処理の一例）。
なお，図２に示すフローチャートでは，同時送信する前記処理要求の個数ごとに１回ずつステップＳ２及びＳ３の処理を行う例を示しているが，これに限るものでなく，Ｓ１〜Ｓ５の処理を同一条件下で，或いは異なる条件下（例えば，前記処理要求の内容が異なる条件下）で複数回繰り返すことも考えられる。この場合，以降の処理で用いる前記応答時間として，前記処理要求の同時送信数ごとの平均応答時間や最大応答時間等を用いればよい。
【００１２】
次に，前記決定装置Ｘは，ステップＳ３（応答時間測定処理）の測定結果に基づいて，前記サーバ装置Ｙにおける並列処理数ごとの処理効率を推定する（処理効率推定処理）。本処理は，前記処理効率推定処理部１３により具現される。
ここでは，推定する前記処理効率として，例えば，前記サーバ装置Ｙにおける前記処理要求に応じた処理の並列処理数ごと（即ち，前記処理要求の同時送信数ｉごと）に，１つの前記処理要求当たりの応答時間（即ち，ステップＳ３で得られた前記応答時間を，同時送信した前記処理要求の数ｉで割った値，以下，単位応答時間ＴPという）を求める。もちろん，その時間を正規化する等により前記単位応答時間ＴPを表す指標を求めるようにしてもよい。
【００１３】
次に，前記決定装置Ｘは，ステップＳ６で推定された前記処理効率に基づいて，前記サーバ装置Ｙにおける前記最大並列処理数の設定値を決定する（Ｓ７，最大並列処理数決定処理）。本処理は，前記最大並列処理数決定部１４により具現される。
図３は，前記サーバ装置Ｙにおける並列処理数（即ち，前記処理要求の同時送信数：横軸）とステップＳ６の処理により推定された前記サーバ装置Ｙの処理効率の一例である前記単位応答時間ＴP（１要求当たり応答時間：縦軸）との関係を表すグラフである。なお，横軸は対数軸である。
図３に示すように，前記並列処理数が少なすぎる（例えば１）状態では，処理のオーバーヘッド等の影響により，前記単位応答時間ＴPが長くなる（即ち，処理効率が悪い）。そして，前記並列処理数が増えるにつれて，徐々に処理効率が向上する（前記単位応答時間ＴPが短くなる）が，前記並列処理数が多すぎると，前記サーバ装置Ｙの処理効率が再び低下する（前記単位応答時間ＴPが長くなる）。
従って，前記決定装置Ｘは，ステップＳ７の処理において，前記処理効率が最も高くなるときの前記サーバ装置Ｙにおける並列処理数（即ち，前記処理要求の同時送信数）を，前記サーバ装置Ｙにおける前記最大並列処理数の設定値ＮSに決定する。図３に示す例では，前記最大並列処理数の設定値ＮSは「５」となる。
もちろん，前記サーバ装置Ｙにおける他の処理用に余裕を持たせる等のために，前記処理効率が最も高くなるときの並列処理数よりもあえて若干少ない数を前記最大並列処理数の設定値ＮSとすることも考えられる。
【００１４】
次に，前記決定装置Ｘは，前記サーバ装置Ｙの設計条件として与えられる前記処理要求に対する応答許容時間Ｔspecと，ステップＳ７の処理（最大並列処理数決定処理）により決定された前記最大並列処理数の設定値ＮSと，ステップＳ７での推定結果である前記単位応答時間ＴP（処理効率の一例）のうち前記最大並列処理数の設定値ＮSに対応するものである最小単位応答時間ＴPN（図３参照）とに基づいて，前記サーバ装置Ｙにおける前記処理要求の最大待ち行列数の設定値ｑSを決定し（Ｓ８，最大待ち行列数決定処理），その後処理を終了させる。本処理は，前記最大待ち行列数決定部１５により具現される。
本処理で決定された前記最大並列処理数の設定値ＮS及び前記最大待ち行列数の設定値ｑSは，前記記憶部２への記憶や前記表示部４への表示がなされ，別途，その設定値が前記サーバ装置Ｙに設定される。或いは，当該決定装置Ｘから前記サーバ装置Ｙに前記ネットワーク９を通じて送信し，これに応じて前記サーバ装置Ｙにおいて自動設定されるよう構成してもよい。
ここで，前記サーバ装置ＹにおいてＮS個の前記処理要求に応じた処理（以下，１個の前記処理要求に対応する処理をジョブという）をスレッド処理やマルチタスク処理等により並列処理した場合，同一のジョブ（ステップＳ２で送信した前記処理要求に対応するジョブ或いはこれと同等の演算負荷のジョブ）が一様に進行していると仮定すると，ある時点でのＮS個のスレッド或いはタスク各々における前記ジョブの残処理時間は，残処理時間の少ないものから順に（ＴPN／ＮS，２ＴPN／ＮS，３ＴPN／ＮS，…，ＴPN）であるといえる。その結果，前記サーバ装置Ｙは，時間（ＴPN／ＮS）の経過ごとに１つの前記ジョブを処理することになる。これは，前記サーバ装置Ｙにおける待ち行列内にある前記処理要求のジョブは，時間（ＴPN／ＮS）の経過ごとに１つのジョブが処理されていくことを表す。従って，前記サーバ装置Ｙにおける最大待ち行列数をｑとすると，その待ち行列の最後尾に加えられた前記処理要求のジョブがその待ち行列内に滞在する時間である最大滞在時間ＴWMAXは，次の（１）式で表される。
ＴWMAX ＝ ｑ・ＴPN／ＮS  …（１）
従って，前記端末装置が前記サーバ装置Ｙに対して前記処理要求を送信したときの最大の応答待ち時間は，１つのジョブの処理に要する時間ＴPNに前記最大滞在時間ＴWMAXを加えた時間となるので，次の（２）式を満足する最大待ち行列数ｑを前記最大待ち行列数の設定値ｑSとして設定すれば，前記応答許容時間Ｔspecを保証できる。
Ｔspec ≧ ＴPN＋ｑ・ＴPN／ＮS  …（２）
この（２）式を変形すると，次の（３）式になる。
ｑ ≦ ＮS（Ｔspec−ＴPN）／ＴPN  …（３）
【００１５】
ここで，（３）式（或いは（２）式）を満たすｑ（整数）の最小値，即ち，左辺と右辺とが等しくなるようなｑ（ｑが小数となるときは，小数点第１位以下を切り捨てた整数）を前記最大待ち行列数の設定値ｑSとして設定すれば，前記応答許容時間Ｔspecを保証できる。即ち，次の（４）式を満たすｑSを前記最大待ち行列数の設定値とする。
ｑS ≒ ＮS（Ｔspec−ＴPN）／ＴPN  …（４）
この（４）式を満たすｑSを前記最大待ち行列数の設定値とするということは，即ち，前記サーバ装置ＹによりステップＳ７（最大並列処理数決定処理）で決定された前記最大並列処理数の設定値ＮSの下で，その設定値ＮSに対応する前記最小単位応答時間ＴPN（１つの前記処理要求当たりの応答時間）で処理がなされたとしたときに，最大の応答時間が前記応答許容時間Ｔspecと等しく（或いはほぼ等しく）なるように前記最大待ち行列数の設定値ｑSを決定するということである。
例えば，前述のステップＳ６で得られた前記最小単位応答時間ＴPNが２．２５sec，ステップＳ７で得られた前記最大並列処理数の設定値ＮSが５であり，前記応答許容時間Ｔspecが７secである場合，（４）式に従えば前記最大待ち行列数の設定値ｑSは１０となる。
これにより，前記応答許容時間Ｔspecを満たす範囲で，最大の前記最大待ち行列数の設定値ｑSが決定され，前記処理要求の受け付が拒否される頻度が極力少なくなるような決定がなされる。
【００１６】
図４は，前記決定装置Ｘにより決定された前記最大待ち行列数の設定値ｑSが１０であるときに，決定された各設定値ＮS，ｑSを設定した前記サーバ装置Ｙに複数の前記端末装置から前記処理要求を繰り返し送信する負荷試験により得られた前記サーバ装置Ｙの応答時間の測定結果を表すグラフ（横軸は経過時間）である。
ここで，図４に示す例は，前述のステップＳ６で得られた前記最小単位応答時間ＴPNが２．２５sec，ステップＳ７で決定された前記最大並列処理数の設定値ＮSが５であり，前記応答許容時間Ｔspecが７secであるのに対してステップＳ８で決定された前記最大待ち行列数の設定値ｑSが１０である場合の例である。
図４からわかるように，ほぼ設計通りの７sec以内に前記端末装置が応答を得ていることがわかる。
【産業上の利用可能性】
【００１７】
本発明は，通信回線を介して複数の端末装置から受信される処理要求に応じて処理を実行するサーバ装置に設定するパラメータの決定に利用可能である。
【図面の簡単な説明】
【００１８】
【図１】本発明の実施形態に係る通信サーバ設定値決定装置Ｘの主要部の概略構成を表すブロック図。
【図２】通信サーバ設定値決定装置Ｘにおけるサーバ装置Ｙの最大並列処理数及び最大待ち行列数の各設定値を決定する処理の手順を表すフローチャート。
【図３】サーバ装置Ｙにおける並列処理数と通信サーバ設定値決定装置Ｘにより推定された処理効率との関係を表すグラフ。
【図４】通信サーバ設定値決定装置Ｘにより決定された最大並列処理数及び最大待ち行列数の設定値が設定されたサーバ装置Ｙの負荷試験により得られた応答時間の測定結果を表すグラフ。
【符号の説明】
【００１９】
Ｘ…通信サーバ設定値決定装置
Ｙ…サーバ装置
１…演算部
２…記憶部
３…通信制御部
４…表示部
５…操作部
９…ネットワーク
１１…要求通信処理部
１２…応答時間測定処理部
１３…処理効率推定処理部
１４…最大並列処理数決定部
１５…最大待ち行列数決定部
Ｓ１，Ｓ２，，…処理手順（ステップ）
【図１】
2006221516.tif 000003
【図２】
2006221516.tif 000004
【図３】
2006221516.tif 000005
【図４】
2006221516.tif 000006