(57)【特許請求の範囲】
【請求項１】
アプリケーション・ソフトウェアに対応付けて、該アプリケーション・ソフトウェアの実行の際に該アプリケーション・ソフトウェアに関する性能情報を収集する収集タイミングを変更する変更条件を記憶する記憶手段と、
実行中のアプリケーション・ソフトウェアに対応付けて前記記憶手段に記憶された前記変更条件が満たされる場合に、前記実行中のアプリケーション・ソフトウェアに関する性能情報の収集タイミングを変更する変更手段と、
を備え、
前記変更手段は、リソースの使用率の上昇に応じて、収集タイミングの間隔を狭めるように変更を行う第１の変更と、収集タイミングの間隔を広げるように変更を行う第２の変更の双方に適応し、利用するリソースの量が相対的に大きい量となり得る第１のアプリケーション・ソフトウェアには第１の変更、利用するリソースの量が相対的に小さい量の第２のアプリケーション・ソフトウェアには第２の変更を適用する
ことを特徴とする性能情報収集システム。
【請求項２】
アプリケーション・ソフトウェアに関する性能情報の収集をコンピュータに実行させる性能情報収集プログラムであって、
実行中のアプリケーション・ソフトウェアに対応付けて記憶手段に記憶された、前記実行中のアプリケーション・ソフトウェアに関する性能情報を収集する収集タイミングを変更する変更条件を読み出し、
読み出した前記変更条件が満たされる場合に、前記実行中のアプリケーション・ソフトウェアに関する性能情報の収集タイミングを変更し、
前記収集タイミングを変更する場合、リソースの使用率の上昇に応じて、収集タイミングの間隔を狭めるように変更を行う第１の変更と、収集タイミングの間隔を広げるように変更を行う第２の変更の双方に適応し、利用するリソースの量が相対的に大きい量となり得る第１のアプリケーション・ソフトウェアには第１の変更、利用するリソースの量が相対的に小さい量の第２のアプリケーション・ソフトウェアには第２の変更を適用する
処理を該コンピュータに実行させることを特徴とする性能情報収集プログラム。
【請求項３】
コンピュータにより実行される、アプリケーション・ソフトウェアに関する性能情報の収集方法において、
実行中のアプリケーション・ソフトウェアに対応付けて記憶手段に記憶された、前記実行中のアプリケーション・ソフトウェアに関する性能情報を収集する収集タイミングを変更する変更条件を読み出し、
読み出した前記変更条件が満たされる場合に、前記実行中のアプリケーション・ソフトウェアに関する性能情報の収集タイミングを変更し、
前記収集タイミングを変更する場合、リソースの使用率の上昇に応じて、収集タイミングの間隔を狭めるように変更を行う第１の変更と、収集タイミングの間隔を広げるように変更を行う第２の変更の双方に適応し、利用するリソースの量が相対的に大きい量となり得る第１のアプリケーション・ソフトウェアには第１の変更、利用するリソースの量が相対的に小さい量の第２のアプリケーション・ソフトウェアには第２の変更を適用する
ことを特徴とするコンピュータにより実行される性能情報の収集方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、１つ以上のアプリケーション・ソフトウェアを実行可能なコンピュータの性能情報を収集するための技術に関する。
【背景技術】
【０００２】
近年の通信ネットワークの発達により、多くの人を対象にサービスを提供するためのシステムはサーバ上に構築されるのが普通である。そのシステムとは、例えば企業では業務の実行を支援するための業務システムである。Ｗｅｂサイトに用意されたサーバには通常、一般利用者向けのサービスを提供するためのシステムが構築されている。
【０００３】
サービスは、適切に提供できるようにすることが重要である。このことから、サービスの質を常に維持できるように、サーバ（コンピュータ）が有するリソースの使用状況を示す情報を性能情報として収集し、監視することが行われている。その性能情報の収集・監視により、サービスを常に快適に利用可能なように対応することができる。性能情報としては、例えばＣＰＵ使用率、メモリ使用量、及びディスク使用量、などを挙げることができる。
【０００４】
これまで、性能情報の収集は、収集によって得たデータ量が膨大とならないように、定められた一定時間間隔で行われていた。しかし、一定時間間隔での収集では、サービスの質に影響するような状況時に性能情報を収集できない可能性がある。その可能性は、一定時間間隔をより短くするほど低減する。しかし、その時間間隔を短くするほど、性能情報の収集に要する負荷が増大して、サーバの性能を低下させる。このことから、従来の性能情報収集装置のなかには、特許文献１に記載されているように、性能情報を収集する時間間隔（タイミング）をリソースの使用状況に応じて動的に変更するものがある。その時間間隔を動的に変更することにより、短い時間間隔で性能情報を収集すべき状況ではその時間間隔をより短くして性能情報を収集するようにしている。
【０００５】
サービスの質の低下は、リソースの使用率が高い状況下で生じるのが普通である。このことから、特許文献１に記載された従来の性能情報収集装置は、リソースの使用率が高くなるほど短い時間間隔で性能情報を収集するようにしていた。しかし、その時間間隔を短くすることは、負荷の大きい状況下で性能情報の収集に要する負荷を増大させることに相当する。このことから、特許文献１に記載された従来の性能情報収集装置では、対象となる性能情報のなかから、収集時間間隔をより長くするものを選択することにより、そのような状況下での性能情報の収集に要する負荷の増大を抑えている。
【０００６】
上述したように、収集時間間隔を長くすることによって、必要な性能情報を収集できない可能性はより高くなる。しかし、性能情報の収集に要する負荷はサービスの質に影響しないようにすることが望ましい。このことから、性能情報の収集はリソースの使用率以外の視点で行うことも重要であると考えられる。
【０００７】
サーバ上でのシステムの構築は、システムの種類に係わらず、サーバとして用いられるコンピュータ（コンピュータ）に実行させるべきプログラムであるアプリケーション・ソフトウェア（以下「アプリケーション」と略記）を開発し、そのアプリケーションを実行可能とさせることで行われる。これは、複数のサーバを通信ネットワークで接続させた構成を採用しているか否かに係わらないことである。Ｗｅｂサイトは普通、複数のサーバを接続させた構成となっている。
【０００８】
アプリケーションの実行に必要なリソースはアプリケーションによって異なる。また、実行頻度や重要性もアプリケーションによって異なる。そのような違いがアプリケーション間には存在する。このことから、常に質の高いサービスを提供できるようにするためには、アプリケーションに着目して性能情報を収集することも重要と考えられる。
【特許文献１】特開２００５−４３３６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
本発明は、アプリケーションを実行可能なコンピュータの性能情報をそれが実行するアプリケーションに着目して収集するための技術を提供することを目的とする。
【課題を解決するための手段】
【００１０】
性能情報収集システムは、アプリケーション・ソフトウェアに対応付けて、該アプリケーション・ソフトウェアの実行の際に該アプリケーション・ソフトウェアに関する性能情報を収集する収集タイミングを変更する変更条件を記憶する記憶手段と、実行中のアプリケーション・ソフトウェアに対応付けて前記記憶手段に記憶された前記変更条件が満たされる場合に、前記実行中のアプリケーション・ソフトウェアに関する性能情報の収集タイミングを変更する変更手段と、を備え、前記変更手段は、リソースの使用率の上昇に応じて、収集タイミングの間隔を狭めるように変更を行う第１の変更と、収集タイミングの間隔を広げるように変更を行う第２の変更の双方に適応し、利用するリソースの量が相対的に大きい量となり得る第１のアプリケーション・ソフトウェアには第１の変更、利用するリソースの量が相対的に小さい量の第２のアプリケーション・ソフトウェアには第２の変更を適用する。
【００１２】
アプリケーション・ソフトウェアに関する性能情報の収集をコンピュータに実行させる性能情報収集プログラムは、実行中のアプリケーション・ソフトウェアに対応付けて記憶手段に記憶された、前記実行中のアプリケーション・ソフトウェアに関する性能情報を収集する収集タイミングを変更する変更条件を読み出し、読み出した前記変更条件が満たされる場合に、前記実行中のアプリケーション・ソフトウェアに関する性能情報の収集タイミングを変更し、前記収集タイミングを変更する場合、リソースの使用率の上昇に応じて、収集タイミングの間隔を狭めるように変更を行う第１の変更と、収集タイミングの間隔を広げるように変更を行う第２の変更の双方に適応し、利用するリソースの量が相対的に大きい量となり得る第１のアプリケーション・ソフトウェアには第１の変更、利用するリソースの量が相対的に小さい量の第２のアプリケーション・ソフトウェアには第２の変更を適用する、処理を該コンピュータに実行させる。
【００１３】
コンピュータにより実行される、アプリケーション・ソフトウェアに関する性能情報の収集方法において、実行中のアプリケーション・ソフトウェアに対応付けて記憶手段に記憶された、前記実行中のアプリケーション・ソフトウェアに関する性能情報を収集する収集タイミングを変更する変更条件を読み出し、読み出した前記変更条件が満たされる場合に、前記実行中のアプリケーション・ソフトウェアに関する性能情報の収集タイミングを変更し、前記収集タイミングを変更する場合、リソースの使用率の上昇に応じて、収集タイミングの間隔を狭めるように変更を行う第１の変更と、収集タイミングの間隔を広げるように変更を行う第２の変更の双方に適応し、利用するリソースの量が相対的に大きい量となり得る第１のアプリケーション・ソフトウェアには第１の変更、利用するリソースの量が相対的に小さい量の第２のアプリケーション・ソフトウェアには第２の変更を適用する。
【発明の効果】
【００１４】
本発明では、１つ以上のアプリケーション・ソフトウェア（以下「アプリケーション」と略記）を実行可能なコンピュータの性能情報を収集すべきタイミングを示す収集情報をアプリケーション単位で用意し、そのコンピュータが実行中のアプリケーションに対応する収集情報を基に、性能情報を収集する。
【００１５】
アプリケーションの実行に必要なリソースはアプリケーションによって異なる。実行頻度や重要性もアプリケーションによって異なる。このことから、アプリケーション毎に収集情報を用意して、実行中のアプリケーションの収集情報に従った性能情報の収集を行うことにより、実行中のアプリケーションに合った適切なタイミングで性能情報を収集できるようになる。
【００１６】
アプリケーションの実行に必要なリソースは処理すべき内容によっても変化する。その実行時の状況は常に同じであるとは限らない。リソースの使用状況は、処理すべき内容や実行時の状況によって変化する。このことから、リソースの使用状況別に複数の収集情報を用意した場合には、アプリケーションの実行によって処理すべき内容や実行時の状況にも常に適切に対応させられるようになる。予め定めた固定のタイミングに従った性能情報の収集を併せて行うようにした場合には、アプリケーションに応じた性能情報の収集では収集できない性能情報の収集が可能となる。
【発明を実施するための最良の形態】
【００１７】
以下、本発明の実施の形態について、図面を参照しながら詳細に説明する。
図１は、本実施の形態による性能情報収集装置が適用された性能情報収集システムの構成を説明する図である。
【００１８】
その収集システムは、図１に示すように、性能情報の収集対象サーバ（以降「対象サーバ」）１０と、その対象サーバ１０と通信ネットワークを介して接続された性能管理サーバ２０と、を備えた構成となっている。本実施の形態による性能情報収集装置（以下「収集装置」）は、対象サーバ１０に搭載される形で適用されている。
【００１９】
その収集装置は、搭載された対象サーバ１０の性能情報を収集し、収集した性能情報を性能管理サーバ２０に送信するものとして実現されている。性能管理サーバ２０は、対象サーバ１０から送信された性能情報を受信し、その保存用の性能情報データベース（ＤＢ）２２に格納する処理を行う。
【００２０】
対象サーバ１０は、端末装置と接続可能な通信ネットワークと接続されている。端末装置を利用するユーザに対しては、アプリケーション群１５を構成するアプリケーションを１つ以上、状況に応じて実行することにより、通信ネットワークを介して、そのユーザが望むサービスを提供する。収集装置は、サーバ性能収集プログラム１１、アプリ性能収集プログラム群１２、及び性能情報収集プログラム１３を対象サーバ１０が実行することで実現される。収集ポリシー群１４は、サーバ性能収集プログラム１１、及びアプリ性能収集プログラム群１２の実行時に参照されるデータである。
【００２１】
図５は、上記対象サーバ１０として用いることが可能なコンピュータのハードウェア構成を説明する図である。図１についての詳細な説明の前に、対象サーバ１０として用いることが可能なコンピュータの構成について具体的に説明する。その構成のコンピュータは性能管理サーバ２０として用いることが可能である。
【００２２】
図５に示すコンピュータは、ＣＰＵ５１、メモリ５２、入力装置５３、出力装置５４、外部記憶装置５５、媒体駆動装置５６、及びネットワーク接続装置５７を有し、これらがバス５８によって互いに接続された構成となっている。同図に示す構成は一例であり、これに限定されるものではない。
【００２３】
ＣＰＵ５１は、当該コンピュータ全体を制御するものである。メモリ５２は、プログラム実行、データ更新等の際に、外部記憶装置５５（あるいは可搬型の記録媒体ＭＤ）に記憶されているプログラムあるいはデータを一時的に格納するＲＡＭ等のメモリである。ＣＰＵ５１は、プログラムをメモリ５２に読み出して実行することにより、全体の制御を行う。
【００２４】
入力装置５３は、例えば、キーボード、マウス等の外部入力装置と接続可能なものか、或いはそれらを有するものである。そのような外部入力装置に対するユーザの操作を検出し、その検出結果をＣＰＵ５１に通知する。
【００２５】
出力装置５４は、例えばディスプレイと接続可能なものか、或いはそれを有するものである。ＣＰＵ５１の制御によって送られてくるデータをディスプレイ上に出力させる。
ネットワーク接続装置５７は、例えばＬＡＮ、或いはインターネット等の通信ネットワークを介して、他の装置と通信を行うためのものである。外部記憶装置５５は、例えばハードディスク装置である。主に各種データやプログラムの保存に用いられる。
【００２６】
記憶媒体駆動装置５６は、光ディスクや光磁気ディスク等の可搬型の記録媒体ＭＤにアクセスするものである。
上記サーバ性能収集プログラム１１、アプリ性能収集プログラム群１２、及び性能情報収集プログラム１３は共に、例えばネットワーク接続装置５７、或いは媒体駆動部５６を介して取得され、外部記憶装置５５に格納される。収集ポリシー群１４は、例えば入力装置５３、ネットワーク接続装置５７、或いは媒体駆動部５６を介して取得され、外部記憶装置５５に格納される。本実施の形態による収集装置は、それらのプログラム１１〜１３をＣＰＵ５１が実行することで実現される。収集した性能情報は性能管理サーバ２０に送信する。このようなことから、その収集装置は、例えばＣＰＵ５１、メモリ５２、外部記憶装置５５、ネットワーク接続装置５７、及びバス５８を備えた構成となっている。
【００２７】
上述したように、性能情報の収集は、収集ポリシー群１４を参照して行われる。各プログラム１１、１３、及びプログラム群１２の説明を行う前に、図２を参照して収集ポリシー群１４について詳細に説明する。
【００２８】
その収集ポリシー群１４は、アプリケーション群１５を構成するアプリケーション毎に、そのアプリケーションの実行中に性能情報の収集を行うべきタイミングを定義した情報（収集情報）群である。図２に示すように、性能情報の収集を行うべきタイミングを定義した１つ以上の条件式がアプリケーション毎に記述されている。それにより、本実施の形態では、対象サーバ１０が実行中のアプリケーションに対応する収集ポリシーに従って性能情報の収集を行うようになっている。
【００２９】
図２において、例えば「［アプリ１：項目Ａ］」のように［］で括った記述は、収集ポリシーが対応するアプリケーションを示す識別情報、及び収集対象となる性能情報の種類（性能項目）を示す項目情報を含んだものである。「：」の前に記述された「アプリ１」は識別情報に相当し、その後に記述された「項目Ａ」は項目情報に相当する。そのアプリケーション用に定義された条件式は、その後に続けて記述されている。識別情報、及び項目情報は収集ポリシーの区切りを表すことから、便宜的に以降それらを「区切り情報」と総称する。
【００３０】
各条件式は、性能情報を収集すべき収集タイミングを示すタイミング情報と、そのタイミング情報に従った性能情報の収集を有効とすべき状況を示す状況情報と、を有している。例えば区切り情報として「［アプリ１：項目Ａ］」が記述された収集ポリシー（以降、アプリ１の収集ポリシー」と表記。他も同様）では、条件式として「ＣＰＵ＜２０％、サンプリング間隔＝１００トランザクション」が記述されている。その条件式は、アプリケーションのトランザクション（実行）回数で収集タイミングを指定するものであり、「サンプリング間隔＝１００トランザクション」は１００回のアプリケーションの実行毎に性能情報を収集することを指定するタイミング情報、「ＣＰＵ＜２０％」はＣＰＵの使用率が２０％未満の状況を指定する状況情報となっている。
【００３１】
区切り情報として「［アプリ２：項目Ａ］」が記述された収集ポリシー（アプリ２の収集ポリシー）では、条件式として例えば「ＤＩＳＫ＜６０％、サンプリング間隔＝１００トランザクション」が記述されている。その条件式に状況情報として記述された「ＤＩＳＫ＜６０％」は、対象サーバ１０がアクセス可能な補助記憶装置、或いは外部記憶装置の使用領域が全体に占める割合が６０％未満の状況を指定している。図５に示す構成では、その装置は外部記憶装置５５となる。区切り情報として「［アプリ３：項目Ａ］」が記述された収集ポリシー（アプリ３の収集ポリシー）では、条件式として例えば「ＣＰＵ＜２０％、サンプリング間隔＝５分」が記述されている。その条件式にタイミング情報として記述された「サンプリング間隔＝５分」は、性能情報の収集を５分間隔で行うことを指定している。区切り情報として「［アプリ４：項目Ａ］」が記述された収集ポリシー（アプリ４の収集ポリシー）では、条件式として例えば「トランザクション数＜１０回／１分、サンプリング間隔＝１トランザクション」が記述されている。その条件式に状況情報として記述された「トランザクション数＜１０回／１分」は、アプリ４の１分間当たり実行回数が１０回より少ない状況を指定している。
【００３２】
このように、タイミング情報（サンプリング間隔）は、アプリケーションの実行回数、或いは時間間隔で定義し、状況情報は、着目する対象の種類、及びその対象が満たすべき状況内容により定義するようになっている。ここでは対象の種類は「性能項目」と呼ぶことにする。性能情報は性能項目を異ならせて同じ条件式に複数、記述することが可能である。収集ポリシーに記述する条件式の数は１つ以上であれば良い。
【００３３】
本実施の形態では、収集の対象となる性能情報の種類は収集ポリシー毎に定義するようにしている。これは、収集ポリシー群１４を構成する収集ポリシーは１つ以上であれば良いためである。つまり、収集ポリシー群１４として１つの収集ポリシーのみを用意した場合にも対応できるようにするためである。対象となる性能情報の種類は収集ポリシー以外で定義しても良い。
【００３４】
上記アプリ１〜４の各収集ポリシーは、例えば以下のようなアプリケーションの想定、及び考えにより用意したものである。
アプリ１の収集ポリシーは、定常的に連続して実行される、性能情報を収集する重要性が比較的に低いアプリケーションを想定したものである。その収集ポリシーでは、ＣＰＵ使用率が高くなるとサンプリング間隔をより大きくするようになっている。これは、性能情報収集による影響を抑えるためである。
【００３５】
アプリ２の収集ポリシーは、定期的に実行される、性能情報を収集する重要性が比較的に高いアプリケーションを想定したものである。そのアプリケーションとしては、例えばＤＢ処理用のアプリケーションを挙げることができる。そのようなアプリケーションでは、実行時に処理すべき内容によって必要なリソースが大きく変動する。ＤＢのなかで更新すべきデータの量や、追加すべきデータの量などによって大きく変動する。このことから、その収集ポリシーでは、使用領域の割合が６０％以上となると、アプリケーションを実行する度に性能情報を収集するようになっている。それにより、負荷が高くなった場合には、調査用資料となる性能情報を細かく収集するようになっている。負荷が高くない場合のサンプリング間隔が大きいのは、性能情報を収集する必要性は小さいためである。
【００３６】
アプリ３の収集ポリシーは、定常的に連続して実行される、リソースの使用率が比較的に小さいアプリケーションを想定したものである。そのようなアプリケーションでは性能情報を収集する必要性は比較的に小さいことから、収集ポリシーでは、ＣＰＵ使用率が高くなった場合はサンプリング間隔をより大きくして、性能情報収集による影響を抑えている。その使用率が低い場合はサンプリング間隔を小さくすることにより、リソースの使用率の変動や傾向を把握しやすいようにさせている。
【００３７】
アプリ４の収集ポリシーは、定常的に連続して実行されるアプリケーションを想定し、そのアプリケーションの実行（処理）時間の傾向を把握するために作成したものである。このため、その収集ポリシーでは、単位時間（ここでは１分）当たりの実行回数が大きくなった場合は、性能情報のデータ量を抑えるために、サンプリング間隔を大きくしている。
【００３８】
上述したように、アプリケーションの実行に必要なリソースはアプリケーションによって異なる。実行頻度や重要性もアプリケーションによって異なる。しかし、アプリケーション毎に収集ポリシーを用意して、実行中のアプリケーションの収集ポリシーに従った性能情報の収集を行うことにより、実行中のアプリケーションに合った適切なタイミングで性能情報を収集できるようになる。このため、性能情報の収集は適切に行えることとなる。
【００３９】
アプリケーションの実行に必要なリソースは処理内容によっても変化する。収集ポリシーに複数の条件式を用意した場合には、アプリケーションの実行によって処理すべき内容や実行時の状況にも常に適切に対応させられるようになる。このため、性能情報の収集はより適切に行えることとなる。
【００４０】
本実施の形態では、収集ポリシーはアプリケーション毎に用意している。しかし、アプリケーションのなかには、結果として同一の内容の収集ポリシーを適用可能なものが複数、存在することがありうる。そのような複数のアプリケーションが存在する場合には、それらに１つの収集ポリシーを割り当てるようにしても良い。このことから、収集ポリシーはアプリケーション単位で用意すれば良い。
【００４１】
次に図１に示す各種プログラムについて詳細に説明する。
サーバ性能収集プログラム１１は、収集ポリシー群１４を参照して、それを構成する収集ポリシーで指定された性能情報を一定時間間隔で収集するものである。
【００４２】
図３は、サーバ性能収集プログラム１１の実行によって実現される処理のフローチャートである。ここで図３を参照して、その処理について詳細に説明する。その処理は、図５に示すＣＰＵ５１がそのプログラム１１を実行することによって実現される。
【００４３】
サーバ性能収集プログラム１１は起動されると先ず、ステップＳ１で収集ポリシーの読み込みを行う。続くステップＳ２では、読み込んだ収集ポリシーから項目情報を抽出し、収集の対象となる性能情報の種類を示す性能項目を記憶する。その次に移行するステップＳ３では、予め定められた性能項目に対応する性能情報をそれぞれ収集する。その収集は周知の技術により行う。その収集後はステップＳ４に移行する。
【００４４】
ステップＳ４では、収集した性能情報のなかに、ステップＳ２で記憶した性能項目のうちの何れかに対応しているものが存在するか否か判定する。収集した性能情報の性能項目が全て、収集ポリシーによって指定されていないような場合、判定はＮＯとなって上記ステップＳ３に戻り、一定時間が経過するのを待って、再度、性能情報の収集を行う。一方、そうでない場合には、判定はＹＥＳとなってステップＳ５に移行し、収集ポリシーによって指定された性能情報を比較対象データ格納域に格納した後、上記ステップＳ３に戻る。それにより、一定時間が経過した後、再度、性能情報の収集を行う。
【００４５】
このようにして本実施の形態では、一定時間間隔での性能情報の収集も併せて行うようにしている。これは、アプリケーションに着目した性能情報の収集ではカバーが困難なタイミングでの性能情報の収集を行えるようにするためである。一定時間間隔での性能情報の収集を行うことにより、そのようなタイミングで性能情報を収集できる可能性を高くすることができる。
【００４６】
上記比較対照データ格納域は、例えば外部記憶装置５５に確保された作業領域である。収集した性能情報を性能情報収集プログラム１３に渡すのにも用いられる。その性能情報収集プログラム１３は、予め定めたタイミングで、比較対照データ格納域に格納された性能情報を性能管理サーバ２０に送信する処理を行う。性能管理サーバ２０が実行する性能情報収集プログラム２１は、そのようにして送信された性能情報を処理して、性能情報ＤＢ２２に格納する。
【００４７】
アプリ性能収集プログラム群１２は、対象サーバ１０が実行中のアプリケーションに応じた収集ポリシーに従って性能情報を収集するためのものである。収集ポリシーでは、図２に示すように、サンプリング間隔はトランザクション回数、或いは時間間隔で指定するようになっている。本実施の形態では、そのようなサンプリング間隔の種類別に２つのアプリ性能収集プログラム１２ａ、１２ｂをアプリ性能収集プログラム群１２として用意している。アプリ性能収集プログラム１２ａは、サンプリング間隔が時間間隔で指定された収集ポリシー（条件式）用のものであり、アプリ性能収集プログラム１２ｂは、その間隔がトランザクション回数で指定された収集ポリシー（条件式）用のものである。
【００４８】
図４は、アプリ性能収集プログラム１２ａの実行によって実現される処理のフローチャートである。ここで図４を参照して、その処理について詳細に説明する。その処理は、図５に示すＣＰＵ５１がそのプログラム１１を実行することによって実現される。
【００４９】
アプリ性能収集プログラム１２ａは起動されると先ず、ステップＳ１１で収集ポリシー群１４の読み込みを行う。続くステップＳ１２では、例えば読み込んだ収集ポリシー群１４から条件式を抽出し、条件式毎にサンプリング間隔を記憶する。その次に移行するステップＳ１３では、実行中のアプリケーションの収集ポリシーで指定された性能情報の収集を行う。その収集後はステップＳ１４に移行する。
【００５０】
収集ポリシーを構成する条件式は、状況情報とタイミング情報を有する構成である。条件式を構成する状況情報は、その条件式を対象とすべき状況を、指定した性能項目の性能情報の内容により表している。ステップＳ１４では、実行中のアプリケーションの収集ポリシーから各条件式の状況情報を抽出し、その状況情報が表す、実際に取得した性能情報を参照する。続くステップＳ１５では、参照した性能情報がサンプリング間隔の変更条件に合致するか否か判定する。その変更条件に合致する場合、判定はＹＥＳとなり、ステップＳ１６でサンプリング間隔を変更した後、上記ステップＳ１３に戻る。そうでない場合には、つまりサンプリング間隔を変更する必要がない場合には、判定はＮＯとなり、他のステップの処理を実行することなくステップＳ１３に戻る。
【００５１】
現在の性能情報の内容と一致する状況情報を持つ条件式がそれまでのものと異なる場合、変更条件が合致することになる。サンプリング間隔の種類は収集ポリシー（条件式）によって異なる。このため、実行するアプリケーションの変更によっても変更条件は合致する場合がある。
【００５２】
ステップＳ１３での性能情報の収集は、そのときに設定されているサンプリング間隔に従って行われる。そのサンプリング間隔が経過する前に、アプリケーションの変更が行われる可能性がある。このことから、ステップＳ１３では、実行中のアプリケーションを監視して、アプリケーションの変更に伴うサンプリング間隔の設定を行うようにしている。それにより、ステップＳ１６におけるサンプリング間隔の変更は、これまでと異なる条件式を対象とすることにより変更条件が合致した場合に行うようにしている。実行するアプリケーションの変更が行われる可能性があることから、サンプリング間隔が経過したか否か判定するための時間の計時はアプリケーション毎に行っている。
【００５３】
ステップＳ１３で収集した性能情報は、例えば比較対照データ格納域とは別に確保した格納域に格納するようになっている。それにより、収集した性能情報はその格納域を介して性能情報収集プログラム１３に渡される。
【００５４】
アプリ性能収集プログラム１２ｂの実行によって実現される処理の内容は、基本的には図４に示すものと同じである。このことから、その詳細な説明は省略する。しかし、ステップＳ１３では、アプリケーションの実行回数で設定されたサンプリング間隔で性能情報を収集するために、その実行回数の計数を行うようになっている。実行するアプリケーションの変更が行われる可能性があることから、その計数はアプリケーション毎に行っている。単位時間当たりの実行回数は、そのようにして計数した結果を用いて算出している。実行回数の計数、及び単位時間当たりの実行回数の算出は、アプリ性能収集プログラム１２ａの実行時にもステップＳ１３で行われる。
【００５５】
サーバ性能収集プログラム１１、及びアプリ性能収集プログラム群１２の起動、及び終了は、例えば性能情報収集プログラム１３によって行われる。その収集プログラム１３は、例えば性能情報収集プログラム２１からの要求によってそれらを行う。それにより、性能管理サーバ２０側から性能情報の収集を行わせるか否か指示できるようにさせている。
【００５６】
なお、本実施の形態では、実行中のアプリケーションに応じて性能情報を収集するためのプログラムとして２つのアプリ性能収集プログラム１２ａ、１２ｂを用意しているが、そのプログラム数は特に限定されるものではない。つまり１つであっても良く、３つ以上であっても良い。また、収集ポリシー群１４については、着目するアプリケーションの変更等への対応が容易なように、収集プログラム１２ａ、１２ｂとは別に用意しているが、アプリケーションの変更等を考慮しなくとも良いような場合には、収集ポリシー群１４はプログラムに初期設定データ等として持たせても良い。
【００５７】
（付記１）
１つ以上のアプリケーション・ソフトウェアを実行可能なコンピュータの性能情報を収集するための方法であって、
前記性能情報を収集すべきタイミングを示す収集情報を前記アプリケーション・ソフトウェア単位で用意し、
前記コンピュータが実行中のアプリケーション・ソフトウェアに対応する収集情報を基に、前記性能情報を収集する、
ことを特徴とする性能情報収集方法。
【００５８】
（付記２）
前記アプリケーション・ソフトウェア単位の収集情報は、前記コンピュータが有するリソースの使用状況別に１つ以上、用意することにより、該リソースの使用状況に応じて前記性能情報を収集するタイミングを動的に変更させる、
ことを特徴とする付記１記載の性能情報収集方法。
【００５９】
（付記３）
予め定めた固定のタイミングに従った前記性能情報の収集を併せて行う、
ことを特徴とする付記１、または２記載の性能情報収集方法。
【００６０】
（付記４）
１つ以上のアプリケーション・ソフトウェアを実行可能なコンピュータの性能情報を収集する装置であって、
前記性能情報を取得する性能情報取得手段と、
前記アプリケーション・ソフトウェア単位で用意された、前記性能情報を収集すべきタイミングを示す収集情報を取得する収集情報取得手段と、
前記コンピュータが実行中のアプリケーション・ソフトウェアを認識し、該認識したアプリケーション・ソフトウェアに対応する収集情報を基に、前記性能情報取得手段が取得可能な性能情報を収集する性能情報収集手段と、
を具備することを特徴とする性能情報収集装置。
【００６１】
（付記５）
前記性能情報収集手段は、前記認識したアプリケーション・ソフトウェアの収集情報が、前記コンピュータが有するリソースの使用状況別に複数、用意されていた場合、該リソースの使用状況に応じて前記性能情報を収集するタイミングを動的に変更させる、
ことを特徴とする付記４記載の性能情報収集装置。
【００６２】
（付記６）
１つ以上のアプリケーション・ソフトウェアを実行可能なコンピュータの性能情報を収集するために該コンピュータに実行させるプログラムであって、
前記性能情報を取得する性能情報取得機能と、
前記アプリケーション・ソフトウェア単位で用意された、前記性能情報を収集すべきタイミングを示す収集情報を取得する収集情報取得機能と、
前記コンピュータが実行中のアプリケーション・ソフトウェアを認識し、該認識したアプリケーション・ソフトウェアに対応する収集情報を基に、前記性能情報取得機能により取得可能な性能情報を収集する性能情報収集機能と、
を実現させるためのプログラム。
【００６３】
（付記７）
前記性能情報収集機能は、前記認識したアプリケーション・ソフトウェアの収集情報が、前記コンピュータが有するリソースの使用状況別に複数、用意されていた場合、該リソースの使用状況に応じて前記性能情報を収集するタイミングを動的に変更させる、
ことを特徴とする付記６記載のプログラム。
【００６４】
（付記８）
前記性能情報収集機能は、予め定めた固定のタイミングに従った前記性能情報の収集を併せて行う、
ことを特徴とする付記６、または７記載のプログラム。
【図面の簡単な説明】
【００６５】
【図１】本実施の形態による性能情報収集装置が適用された性能情報収集システムの構成を説明する図である。
【図２】収集ポリシー群１４の内容を説明する図である。
【図３】サーバ性能収集プログラム１１の実行によって実現される処理のフローチャートである。
【図４】アプリ性能収集プログラム１２ａの実行によって実現される処理のフローチャートである。
【図５】性能情報の収集対象サーバ１０として用いることが可能なコンピュータのハードウェア構成を説明する図である。
【符号の説明】
【００６６】
１１    サーバ性能収集プログラム
１２    アプリ性能収集プログラム群
１２ａ、１２ｂ    アプリ性能収集プログラム
１３、２１    性能情報収集プログラム
１４    収集ポリシー群
２２    性能情報データベース
【図１】
0004841982.tif 000002
【図２】
0004841982.tif 000003
【図３】
0004841982.tif 000004
【図４】
0004841982.tif 000005
【図５】
0004841982.tif 000006