(57)【要約】【課題】  マルチプロセスコンピュータにおいて、クライアントからの要求によりサーバが高負荷状態の時に、従来は業務プログラムに実行優先度を動的に変更できることを前提としており、一方いわゆるオープンシステムで採用されるオペレーティングシステムではユーザレベルでのプロセスの実行優先度を変更する機能を備えていないことが大半であり、オープンシステムでは優先度の変更による負荷制御が実現できず負荷分散に困難が生じる。【解決手段】  プロセスの並列処理数（多重度）を変更することで業務プログラムのスループットを調整し負荷分散を実現する。更に日々の業務プログラムごとの稼働統計情報によりＣＰＵ負荷のかからない時間帯にプロセスの並列処理数（多重度）を事前に変更し、高負荷状態時においては業務ごとのプロセスの並列処理数（多重度）のを調整してプロセスのチューニングを行う。【選択図】  図１
2006317991.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介してひとつ又は複数のクライアントコンピュータに接続されたマルチプロセスコンピュータで、日々のプロセス稼働統計情報と応答時間目標値情報からプロセス数を調整するプロセス数チューニング方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はコンピュータシステムのチューニング方法に係り、特に、業務プログラム処理の要求性能に応じて、コンピュータシステム内のプロセス数を調整し、要求されたシステムの性能を発揮するために用いて好適なチューニング方法に関する。
【背景技術】
【０００２】
従来、負荷分散を実現するものとして例えば特開2002-215406号公報に記載のように、クライアントからのサービス要求が高負荷の場合、業務プログラムの実行優先度を変更することでサーバ内の負荷分散を実現していた。
【０００３】
【特許文献１】特開2002-215406号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上記従来技術はクライアントの要求に優先度を設定し、優先度の高い要求を処理するプロセスの実行優先度を上げることで、システムに適した負荷制御を実現している。上記従来技術では業務プログラムの実行優先度を動的に変更できることを前提としている。一方いわゆるオープンシステムで採用されるオペレーティングシステムではユーザレベルでのプロセスの実行優先度を変更する機能を備えていないことが大半である。このため、オープンシステムでは優先度の変更による負荷制御が実現できず負荷分散に困難が生じる。
【０００５】
本発明の目的は実行時の優先度が変更できないオペレーティングシステムにおいても負荷分散を実現することである。また、本発明の更なる目的は、負荷分散のチューニング処理を自動化し性能管理コストを削減することである。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、負荷分散装置はプロセスの並列処理数（多重度）を変更することで業務プログラムのスループットを調整し負荷分散を実現する。更に負荷分散装置は日々の業務プログラムごとの稼働統計情報をデータベースに集計し、業務プログラムに応じてＣＰＵ負荷のかからない時間帯にプロセスの並列処理数（多重度）を事前に変更する。クライアントからのサービス要求によりサーバが高負荷状態時においては、日々の業務ごとのプログラム処理時間や処理件数などの稼働統計情報と予め利用者が定義・設定した業務ごとの応答時間目標値の条件から業務ごとのプロセスの並列処理数（多重度）の決定を行う。
【発明の効果】
【０００７】
本発明は、オープンシステムでの負荷分散を実現する。また、日々の業務ごとの稼動統計情報を集計した集計結果と予め利用者が定義・設定した利用条件情報をもとにプロセスの数（多重度）を変更することでプロセス数チューニング機能を提供する。
【発明を実施するための最良の形態】
【０００８】
以下、本発明の実施の形態について図面を用いて説明する。
【０００９】
図１は本発明の１実施例である。
【００１０】
ＣＰＵ１１１、ディスプレイ１１２、キーボード１１３、２次記憶装置１１４、ネットワークインターフェース１１０、バス１１５を有するコンピュータシステム１０４上において、負荷制御装置１０５は業務プログラムA〜N個からなる業務プログラム群１０８と管理テーブル１、管理テーブル２を含むＤＢ１０９を有する。コンピュータシステム１０４はバス１１５、ネットワークインターフェース１１０からネットワーク１０３を介して、クライアントプログラム１０２を有するひとつ又は複数のクライアントコンピュータ端末１０１に接続されている。負荷制御装置１０５は統計情報を取得するプロセス稼動統計情報計測部１０６とプロセス数（多重度）を管理するプロセス管理部１０７より成る。ここでプロセスとはオペレーティングシステムによって実行されているプログラムのインスタンスである。
【００１１】
図２は図１におけるプロセス稼働統計情報計測部１０６の手順である。プロセス稼動統計情報計測部１０６はクライアントの要求により業務ごとの実行プロセスのプロセス処理要求発生時間２０１、プログラム名称２０２、業務プログラム開始時間２０３、ＣＰＵ使用率２０４、業務プログラム終了時間２０５の取得をおこない、業務ごと日時ごとの平均応答時間の取得２０６、平均処理時間の取得２０７、トランザクション発生件数の取得２０８、プロセス数の取得２０９を集計して、その結果をＤＢ１０９の管理テーブル１に渡すものである。平均応答時間の取得２０６の集計方法は、業務プログラムの終了時間２０５とプロセス処理要求発生時間２０１の差分を応答時間とし、業務の応答時間ごとに日時ごとの平均値を算出し平均応答時間とするものである。平均処理時間の取得２０７の集計方法は、業務プログラム終了時間２０５と業務プログラム開始時間２０３の差分を処理時間とし、業務の処理時間ごとに日時ごとの平均値を平均処理時間とするものである。また、トランザクション発生件数の取得２０８の集計方法は、単位時間内の業務ごとのトランザクション発生数を積算することでトランザクション発生件数とするものである。プロセス数の取得２０９の算出方法は日時ごとの実行プロセス数の平均値をプロセス数とするものである。
【００１２】
図３は図１におけるプロセス管理部１０７の手順である。ＤＢ１０９の管理テーブル２より一定時間先の平均プロセス数５０３に変更があるかの判定３０１を行う。変更がない場合は管理テーブル１の利用条件情報の処理判定内か３０４に進み、変更がある場合はその変更が増加によるものかの判定３０２を行う。増加の変更でない場合は管理テーブル１の利用条件情報の処理判定内か３０４に進み、増加の変更の場合は現在のＣＰＵ利用率と管理テーブル２にある平均ＣＰＵ利用率５０４よりＣＰＵ利用率の低い時間に平均プロセス数５０３の値となるまでプロセスを起動する３０３。次にＤＢ１０９の管理テーブル２、から業務ごと日時ごとの平均処理時間４０７と平均トランザクション発生件数４０６、応答時間目標値４０３を取得し、平均処理時間４０７が予め利用者が定義・設定した応答時間目標値４０３の処理時間内か判定３０４を行う。範囲内であれば処理を終了する。範囲外であれば、プロセス数算出処理３０５を行う。ここでのプロセス数決定処理は一般に知られているものを使用する。例えば待ち行列理論（日科技連出版社  応用待ち行列理論）がある。直前の時刻の平均トランザクション発生数４０６をλ（平均到着率）、平均処理時間４０７の値をμ（平均処理率）として例えば待ち行列理論の以下の式により平均待ち時間Ｗの値を予め利用者が定義・設定した応答時間目標値４０３の時間内で処理できるようにプロセス数s（窓口の個数）の算出を行う。
Ｌq=｛λμaS／((ｓ−1)！(sμ−λ) ２)｝Ｐ0，
Ｌ＝Ｌq＋a,
Ｗq＝Ｌq／λ,
Ｗ＝Ｗq＋１／μ
｛a=λ／μ、ρ＝a／ｓ｝
λ：平均到着率
μ：平均処理率
ｓ：窓口の個数
ρ：利用率
Ｐ0：系の中を含むキューが０個である確率
Ｐn：系の中のキューがｎ個である確率
Ｌ：系の中にいるキューの平均待ち数
Ｌq：サービスを待っているキューの平均個数
Ｗ：平均応答時間
Ｗq：平均待ち時間
その結果算出された業務ごとのプロセスの多重度が、現在設定されているプロセス数の設定値を超えているかの判定を行う（３０６）。プロセスの設定値を超えている場合は、プロセスの多重度の値を目標値範囲内で処理できる値まで起動をおこない（３０７）、プロセスの設定値が超えていない場合は、３０３で行なわれた統計情報の事前起動によってプロセスが起動されているかの判定３０８を行い、事前起動によるものであれば処理を終了し、事前起動でない場合はプロセスの多重度の数を平均応答時間目標値範囲内で処理できる値まで停止する（３０９）。
【００１３】
図４は図１におけるＤＢ１０９の管理テーブル１である。プロセス稼働統計情報計測部１０６により得た業務ごと日時ごとの集計単位４０１、業務プログラム名称４０２、プロセス数４０４、CPU使用率４０５、平均トランザクション発生件数４０６、平均処理時間４０７、平均応答時間４０８と予め利用者が設定した業務ごとの応答時間目標値４０３を格納している。
【００１４】
図５は図１におけるＤＢ１０９の管理テーブル２である。管理テーブル１で格納したプロセス数４０４、ＣＰＵ使用率４０５から時刻単位による集計単位５０１毎に平均値化し、業務プログラム名称５０２、平均プロセス数５０３、平均ＣＰＵ使用率５０４に格納するものである。
【図面の簡単な説明】
【００１５】
【図１】本発明の実施方法の全体構成を示した説明図である。
【図２】プロセス稼動統計情報計測部１０６の流れを示す手順である。
【図３】プロセス管理部１０７の流れを示す手順である。
【図４】ＤＢ１０９の管理テーブル１である（実施例）。
【図５】ＤＢ１０９の管理テーブル２である（実施例）。
【符号の説明】
【００１６】
１０１…クライアントコンピュータ端末、１０２…クライアントプログラム、１０３…ネットワーク、１０４…コンピュータシステム、１０５…負荷制御装置、１０６…プロセス稼動統計情報計測部、１０７…プロセス管理部、１０８…業務プログラム群、１０９…ＤＢ、１１０…ネットワークインターフェース、１１１…ＣＰＵ、１１２…ディスプレイ、１１３…キーボード、１１４…２次記憶装置、１１５…バス。
【図１】
2006317991.tif 000003
【図２】
2006317991.tif 000004
【図３】
2006317991.tif 000005
【図４】
2006317991.tif 000006
【図５】
2006317991.tif 000007