説明

予測装置、予測方法、及び、プログラム

【課題】トランザクション処理の応答性能を見積可能とする。
【解決手段】新規種類のトランザクション処理の応答性能を見積もる際には、既存システムでの各種類のトランザクション処理の実行履歴を取得し(S130)、この実行履歴に基づき、既存種類のトランザクション処理毎に、応答性能の実績値(レスポンスインデックスRI)及びデータベースシステムの応答速度に影響を与える動作に関する複数パラメータX1〜X6の実績値を算出する(S150,S180)。そして、これらを標本として回帰分析を行い、パラメータX1〜X6からトランザクション処理の応答性能に関する評価値を算出可能な評価式を導出する(S220)。そして、新規種類のトランザクション処理で想定されるパラメータX1〜X6の各値を評価式に代入し、当該トランザクション処理の応答性能に関する評価値を算出する(S230)。これにより応答性能を見積もる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、トランザクション処理の応答性能を予測するための装置及び方法、並びに、この機能をコンピュータに実現させるためのプログラムに関する。
【背景技術】
【0002】
従来、コンピュータシステムの性能を予測する性能予測システムが知られている。例えば、ユーザインタフェースを提供するフロントエンドサーバと、フロントエンドサーバからの処理要求に応じて、バックエンドサーバを通じた所定処理を実行し処理結果を要求元へ返却するミドルサーバと、データベースを管理し、ミドルサーバからの要求に応じてデータベースのデータのリード/ライトを行うバックエンドサーバと、を備えるコンピュータシステムの性能予測システムとして、稼動実績に基づき性能予測を行うシステムが知られている(特許文献1参照)。
【0003】
この性能予測システムでは、ミドルサーバの稼動実績として、サーバ台数、平均CPU使用率、回帰直線を用いて導出されたアプリケーションの起動回数からミドルサーバのCPU使用率を算出するためのBL性能関数、及び、アプリケーション別の実行時間等を記憶する。また、バックエンドサーバの稼動実績として、サーバ台数、回帰直線を用いて導出されたミドルサーバでのアプリケーションの総実行時間からバックエンドサーバのCPU使用率を算出するためのDB性能関数を記憶する。そして、業務用件が追加された場合には、これらの稼動実績に基づき、必要なサーバ台数を算出する。
【0004】
具体的には、追加された業務要件に対応するアプリケーションの起動回数から上記BL性能関数を用いて追加業務要件に対応するミドルサーバでのCPU使用率の増加分を求め、これとミドルサーバの平均CPU使用率とに基づいて、追加業務要件を追加した後のCPU使用率を予測し、これに基づいて必要なミドルサーバの台数を算出する。一方、バックエンドサーバについては、追加された業務要件に対応するアプリケーションの実行時間の増加分を求め、これとミドルサーバの稼動実績として記憶されるアプリケーション別の実行時間等から、追加業務要件を追加した後のアプリケーションの総実行時間を求め、この総実行時間とDB性能関数から、バックエンドサーバでのCPU使用率を求めて、必要なバックエンドサーバの台数を算出する。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2008−129876号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
ところで、本発明者らは、実際の業務に使用している情報処理システムに対して新規プログラム(情報処理システムに既に導入されたプログラムの修正プログラムを含む。)を導入した際に、新規プログラムによるトランザクション処理の応答性能がどの程度になるかを、情報処理システム上での新規プログラムの実行によるパフォーマンステストを行うことなく見積可能とすることを考えている。このようなパフォーマンステストを行うことなくプログラムの設計段階で応答性能を見積もることができれば、プログラミング後のパフォーマンステストで初めて応答性能を把握できる場合と比較して、応答性能に問題がある場合の対応が採りやすい。また、応答性能に問題のある新規プログラムを情報処理システムに導入すれば、既存プログラムによるトランザクション処理に悪影響が及ぶ。このため、応答性能を把握することができていない状態での上述のパフォーマンステストの実施には、情報処理システムの通常利用を一旦禁止する等の慎重な手続きが要求される。パフォーマンステストを行うことなく応答性能を見積可能とすることを考えているのは、このような理由からである。
【0007】
しかしながら、データベースシステムへのアクセスを伴うトランザクション処理に関しては、その応答性能が、データベースシステムの応答性能の影響を大きく受ける。このため、新規プログラムによるこの種のトランザクション処理の応答性能を、事前に見積もることは容易ではない。
【0008】
従来技術としては、上述したように、稼動実績に基づいてシステムの性能評価を行う技術が知られているが、この技術によれば、業務要件の追加によるアプリケーションの起動回数や実行時間を見積もることができる環境で、システムの負荷を予測して、サーバ台数を調整することができる程度である。
【0009】
本発明者らが知る限り、既存の技術によっては、データベースシステムへのアクセスを伴うトランザクション処理をコンピュータに実行させるための新規プログラムに関して、プログラムの実行によるパフォーマンステストを行うことなく、当該プログラムによる処理の応答性能を見積もることはできない。
【0010】
本発明は、こうした問題に鑑みなされたものであり、データベースシステムへのアクセスを伴うトランザクション処理をコンピュータに実行させるためのプログラムに関して、当該プログラムによるトランザクション処理の応答性能を事前に見積可能な技術を提供することを目的とする。
【課題を解決するための手段】
【0011】
かかる目的を達成するためになされた本発明(請求項1)は、外部からの処理要求に応じてデータベースシステムへのアクセスを伴うトランザクション処理を実行する情報処理システムに対し、新規プログラムを導入して当該プログラムに基づく新規種類のトランザクション処理を情報処理システムのコンピュータに実行させる場合における当該新規種類のトランザクション処理の応答性能を事前予測する予測装置であって、次の履歴取得手段、第一導出手段、第二導出手段、評価式導出手段、新規プログラム情報取得手段、及び、予測手段を備えるものである。尚、本願明細書で表現する「新規プログラム」は、情報処理システムに既に導入されたプログラムの修正プログラムを含む表現である。
【0012】
この予測装置において、履歴取得手段は、上記情報処理システムに対して導入された既存プログラムによるトランザクション処理の実行履歴を取得し、第一導出手段は、上記履歴取得手段によって取得された実行履歴に基づき、既存プログラムによって実行された複数のトランザクション処理に関して、トランザクション処理毎に、当該トランザクション処理の応答性能に関する実績値を導出する。
【0013】
また、第二導出手段は、上記履歴取得手段によって取得された実行履歴に基づき、既存プログラムによって実行された複数のトランザクション処理に関して、トランザクション処理毎に、当該トランザクション処理でのデータベースシステムの応答速度に影響を与える動作に関する複数パラメータの各実績値を導出する。ここで言う複数パラメータとしては、例えば、トランザクション処理によるデータベースシステムへの作用量(アクセス量)に関するパラメータを挙げることができる。
【0014】
そして、評価式導出手段は、第一導出手段によって導出されたトランザクション処理毎の上記応答性能に関する実績値及び第二導出手段によって導出されたトランザクション処理毎の上記複数パラメータの各実績値に基づき、情報処理システムで実行されるトランザクション処理の応答性能に関する評価値を算出可能な評価式を導出する。具体的に、評価式導出手段は、上記評価式として、複数パラメータの少なくとも一部を入力変数としトランザクション処理の応答性能に関する評価値を出力変数とする評価式を導出する構成にすることができる。更に言及すれば、評価式導出手段は、第一導出手段によって導出されたトランザクション処理の種類毎の応答性能に関する実績値及び第二導出手段によって導出されたトランザクション処理の種類毎の上記複数パラメータの各実績値を標本として用いて、回帰分析を行うことにより、上記評価式を導出する構成にすることができる。
【0015】
一方、新規プログラム情報取得手段は、上記評価式の入力変数に該当するパラメータ夫々の値であって、情報処理システムに導入予定の上記新規プログラムに関して、当該プログラムに基づく上記新規種類のトランザクション処理を情報処理システムのコンピュータに実行させた場合に当該新規種類のトランザクション処理で想定される上記パラメータ夫々の値を取得する。予測手段は、上記評価式導出手段によって導出された評価式に、この新規プログラム情報取得手段によって取得された新規種類のトランザクション処理に対応する上記パラメータ夫々の値を入力し、新規種類のトランザクション処理の応答性能に関する評価値を算出する。これによって、新規種類のトランザクション処理の応答性能を事前予測する。
【0016】
このように構成された予測装置では、新規プログラムによって主に利用されるデータベースシステムと同じデータベースシステムを利用するトランザクション処理が情報処理システム上で実行されていることを前提として、既存種類のトランザクション処理でのデータベースシステムの応答速度に影響を与える動作に関する複数パラメータの各実績値及び既存種類のトランザクション処理の応答性能の実績値の形態で、データベースシステムの応答性能の情報を間接的に得て、この情報に基づき、新規プログラムにより実現される処理の応答性能を評価する。
【0017】
従って、本発明によれば、新規プログラムを情報処理システムに導入して新規プログラムによるトランザクション処理を情報処理システムのコンピュータに実行させなくても、データベースシステムの応答性能を考慮して、新規プログラムによるトランザクション処理の応答性能を評価することができる。よって、本発明によれば、プログラムミング後のパフォーマンステストでしか新規プログラムによる処理の応答性能を評価することのできない従来技術と比較して、応答性能に問題がある場合の対応が採りやすく、システムの管理者に対して有用なツールを提供することができる。
【0018】
例えば、本発明によれば、新規プログラムのプログラミング完了前のプログラム設計段階において応答性能を把握することができるので、応答性能に問題があれば、プログラムの内容を変更するといった対応が可能である。また、応答性能に問題のある新規プログラムを情報処理システムに導入することで、既存プログラムによるトランザクション処理に悪影響が及ぶのを回避することができる。よって、応答性能が不明な状態で情報処理システム上での新規プログラムの実行によるパフォーマンステストを実行する場合に要求されるような手続き等を緩和・省略することができる。即ち、本発明によれば、新規プログラムによるトランザクション処理の応答性能の検査についての利便性を、従来と比較して格段に向上させることができる。
【0019】
ところで、既存プログラムによって複数種類のトランザクション処理が既に実行されているシステムに、新規プログラムを導入する際の予測装置の利用を前提とすると、予測装置は、種類単位で、上記各実績値を導出する構成にされるのが好ましい。
【0020】
即ち、履歴取得手段は、上記情報処理システムに既に導入された既存プログラムによって実行される複数種類のトランザクション処理の実行履歴を取得し、第一導出手段は、上記履歴取得手段によって取得された実行履歴に基づき、既存プログラムによって実行されるトランザクション処理の種類毎に、当該種類のトランザクション処理の応答性能に関する実績値を導出し、第二導出手段は、上記履歴取得手段によって取得された実行履歴に基づき、既存プログラムによって実行されるトランザクション処理の種類毎に、当該種類のトランザクション処理でのデータベースシステムの応答速度に影響を与える動作に関する複数パラメータの各実績値を導出する構成にされるのが好ましい。
【0021】
そして、評価式導出手段は、第一導出手段によって導出されたトランザクション処理の種類毎の上記応答性能に関する実績値、及び、第二導出手段によって導出されたトランザクション処理の種類毎の上記複数パラメータの各実績値に基づき、情報処理システムで実行されるトランザクション処理の応答性能に関する評価値を算出可能な上記評価式を導出する構成にされるのが好ましい(請求項2)。
【0022】
このように予測装置を構成すれば、各回のトランザクション処理での応答実績の揺らぎによる影響を抑えて、より適切に評価式を導出し、新規プログラムによる処理の応答性能を評価することができる。
【0023】
具体的に、この予測装置における上記評価式導出手段は、上記評価式として、複数パラメータの少なくとも一部を入力変数としトランザクション処理の応答性能に関する評価値を出力変数とする評価式を導出する構成にすることができる。更に言及すれば、評価式導出手段は、第一導出手段によって導出されたトランザクション処理の種類毎の応答性能に関する実績値及び第二導出手段によって導出されたトランザクション処理の種類毎の上記複数パラメータの各実績値を標本として用いて、回帰分析を行うことにより、上記評価式を導出する構成にすることができる(請求項3)。
【0024】
また、回帰分析の実行により上記評価式を導出する場合、評価式導出手段は、上記複数パラメータを説明変数とし上記トランザクジョン処理の応答性能に関する評価値を目的変数とした回帰分析を行うことで、これらの標本に基づく評価式として、上記複数パラメータを入力変数とし上記トランザクション処理の応答性能に関する評価値を出力変数とする評価式を導出する構成にされてもよいし(請求項4)、上記複数パラメータの一部を説明変数とし上記トランザクジョン処理の応答性能に関する評価値を目的変数とした回帰分析を行うことで、上記複数パラメータの一部を入力変数とし上記トランザクション処理の応答性能に関する評価値を出力変数とする評価式を導出する構成にされてもよい。
【0025】
この他、上記複数パラメータの一部を入力変数とし上記トランザクション処理の応答性能に関する評価値を出力変数とする評価式を導出するように、評価式導出手段を構成する場合には、当該評価式導出手段に、上記評価式を導出する際に実行する回帰分析で説明変数に採用するパラメータを、上記複数パラメータの一部に限定する限定手段を設けることができる。
【0026】
具体的に、限定手段は、上記標本を用いて、上記複数パラメータを説明変数に採用し、上記トランザクジョン処理の応答性能に関する評価値を目的変数とした回帰分析を実行し、この回帰分析により得られた上記説明変数の夫々のt値及びp値の少なくとも一方を指標に、上記評価式を導出する際に実行する回帰分析で説明変数に採用するパラメータを、上記複数パラメータの一部に限定する構成にすることができる。
【0027】
そして、評価式導出手段は、限定手段により限定された複数パラメータの一部を説明変数とし上記トランザクジョン処理の応答性能に関する評価値を目的変数とした回帰分析を行うことで、上記複数パラメータの一部を入力変数とし上記トランザクション処理の応答性能に関する評価値を出力変数とする評価式を導出する構成にすることができる(請求項5)。
【0028】
回帰分析で得られるt値及びp値は、推定された係数(傾き)がゼロであるという帰無仮説を検定したものであり、周知のように、t値は、目的変数との関連性の程度を示し、p値は、説明変数の傾きの危険率を示し、t値が低いパラメータは、説明変数として適当でない可能性が高く、p値が高いパラメータは、説明変数として適当でない可能性が高い。
【0029】
従って、このようなt値及びp値の少なくとも一方を指標に、上記評価式を導出する際に実行する回帰分析で説明変数に採用するパラメータを、上記複数パラメータの一部に限定すれば、説明変数として適切でないパラメータを排除し、評価式としてより適切な式を導出することが可能となる。
【0030】
尚、上述した限定手段は、上記評価式を導出する際に毎回動作する必要はなく、上記評価式の複数回の導出毎に動作してもよいし、上記評価式の導出とは非同期に動作してもよい。この他、限定手段は、一旦、上記説明変数に採用するパラメータを、上記複数パラメータの一部に限定した後には、動作しない構成にされてもよい。
【0031】
また、上記限定手段は、回帰分析を複数回実行することによって、上記評価式を導出する際に実行する回帰分析で説明変数に採用するパラメータを、上記複数パラメータの一部に段階的に限定する構成にされてもよい。
【0032】
具体的に、上記限定手段は、上記複数回の内、初回の回帰分析では、上記複数パラメータを説明変数に採用して回帰分析を実行し、この回帰分析により得られた説明変数の夫々のt値及びp値の少なくとも一方を指標に、上記評価式を導出する際に実行する回帰分析で説明変数に採用するパラメータを、上記複数パラメータの一部に限定し、初回以外の回の回帰分析では、前回の回帰分析により限定された上記複数パラメータの一部を説明変数に採用して回帰分析を実行し、この回帰分析により得られた説明変数の夫々のt値及びp値の少なくとも一方を指標に、上記評価式を導出する際に実行する回帰分析で説明変数に採用するパラメータを、更に上記複数パラメータの一部に限定する構成にすることができる(請求項6)。このように、限定手段を構成すれば、より適切な評価式を導出することが可能となる。
【0033】
ところで、上述の予測装置において、第一導出手段は、上記応答性能に関する実績値として、トランザクション処理の種類毎に、当該種類のトランザクション処理の平均応答時間を導出する構成にすることができる。また、予測手段は、新規種類のトランザクション処理の応答性能に関する評価値として、上記評価式に基づき、当該トランザクション処理の平均応答時間の予測値を算出する構成にすることができる(請求項7)。
【0034】
但し、このような手法でトランザクション処理の応答性能を評価する手法では、トランザクション単位の性能評価には有効であるものの、基盤環境への影響も加味した評価を行うことは難しい。
【0035】
そこで、第一導出手段は、トランザクション処理の種類毎に、上記応答性能に関する実績値として、当該種類のトランザクション処理の所定期間における応答時間の合計(換言すれば、平均応答時間に所定期間におけるトランザクション処理の実行回数を乗算した値)を導出し、予測手段は、評価式に基づき、新規種類のトランザクション処理の応答性能に関する評価値として、当該トランザクション処理の所定期間における応答時間の合計の予測値を算出する構成にされるのが好ましい(請求項8)。このようにして、応答性能の評価を行えば、基盤環境への影響を加味して評価を行うことができる。
【0036】
また、上記評価式導出手段は、第一導出手段により導出された応答性能に関する実績値が最下位から所定順位までのトランザクション処理の種類毎の上記応答性能に関する実績値及び上記複数パラメータの各実績値を選択的に用いて、これらに基づく上記評価式を導出する構成にされるとよい(請求項9)。このように評価式を導出すれば、当該評価式によって新規種類のトランザクション処理の応答性能が過剰に高く評価されるのを抑えることができ、応答性能の良否を判定する上での適切な評価値を算出可能な評価式を導出することができる。尚、評価式導出手段が限定手段を備える場合、限定手段は、第一導出手段により導出された応答性能に関する実績値が最下位から所定順位までのトランザクション処理の種類毎の上記応答性能に関する実績値及び上記複数パラメータの各実績値を選択的に用いて、評価式を導出する際に実行する回帰分析で説明変数に採用するパラメータを、上記複数パラメータの一部に限定する構成にされてもよいし、第一導出手段によって導出されたトランザクション処理の種類毎の応答性能に関する実績値及び第二導出手段によって導出されたトランザクション処理の種類毎の上記複数パラメータの各実績値を上記順位に関係なく用いて、評価式を導出する際に実行する回帰分析で説明変数に採用するパラメータを、上記複数パラメータの一部に限定する構成にされてもよい。
【0037】
この他、予測装置は、予測手段によって算出された新規種類のトランザクション処理の応答性能に関する評価値を、所定の基準値と比較して、新規プログラムの情報処理システムへの導入の良否を判定して、この判定結果をユーザに向けて出力する判定出力手段を備える構成にされるとよい(請求項10)。このような判定出力手段を備える予測装置によれば、ユーザに対して新規プログラムの良否を分かり易く伝えることができる。
【0038】
更に言えば、判定出力手段は、第一導出手段により導出された応答性能に関する実績値が最下位の種類のトランザクション処理の当該応答性能に関する実績値を上記基準値として用いて、新規プログラムの情報処理システムへの導入の良否を判定する構成にされるとよい(請求項11)。
【0039】
応答性能が最も悪いトランザクション処理の当該応答性能よりも、新規種類のトランザクション処理の応答性能が高い場合には、新規プログラムを当該情報処理システムに導入しても、応答性能について許容されている既存のトランザクション処理の当該応答性能よりも応答性能の良いトランザクション処理が実行されるため、特に情報処理システム全体の応答性能としては必要な条件を満足していると言える。
【0040】
従って、上述のように新規プログラムの良否を判定して出力すれば、適切な判定結果をユーザに向けて出力することができ、ユーザ側では簡単に新規プログラムの良否を把握することができる。
【0041】
また、トランザクション処理の一群には、データベースシステムへのアクセス態様の異なる複数系統のトランザクション処理が含まれるため、標本数が多い場合には、これら複数系統をまとめて回帰分析等して、唯一の上記評価式を導出するよりも、トランザクション処理の系統毎に、回帰分析等して系統毎の上記評価式を導出したほうが、新規種類のトランザクション処理の応答性能を精度よく評価することができる。
【0042】
従って、上記予測装置において、評価式導出手段は、既存プログラムによって実行される複数種類のトランザクション処理が系統別に分類されてなる各系統のトランザクション処理群毎に、第一導出手段によって導出された当該系統に属するトランザクション処理の種類毎の上記応答性能に関する実績値、及び、第二導出手段によって導出された当該系統に属するトランザクションの種類毎の上記複数パラメータの各実績値を選択的に用いて、評価式を導出することで、系統毎に上記評価式を導出する構成にされるとよい。
【0043】
一方、新規プログラム情報取得手段は、上記新規種類のトランザクション処理に対応する上記評価式の入力変数に該当するパラメータ夫々の値に加えて、上記新規種類のトランザクション処理の系統を表す情報を取得し、予測手段は、評価式導出手段によって導出された評価式であって、新規プログラム情報取得手段によって取得された情報が示す上記新規種類のトランザクション処理の系統と同一系統の評価式に、上記新規種類のトランザクション処理に対応する上記パラメータ夫々の値を入力して、上記新規種類のトランザクション処理の応答性能に関する評価値を算出する構成にされるとよい(請求項12)
このように構成された予測装置によれば、上記新規種類のトランザクション処理の系統と同一系統のトランザクション処理についての実行履歴から導出された評価式に従って、上記新規種類のトランザクション処理の応答性能に関する評価値を算出するので、高精度に、応答性能を評価することができる。
【0044】
尚、評価式導出手段が上記限定手段を備える場合、限定手段は、系統毎に、この系統に属するトランザクションの種類に関して、第一導出手段によって導出されたトランザクション処理の種類毎の応答性能に関する実績値及び第二導出手段によって導出されたトランザクション処理の種類毎の上記複数パラメータの各実績値を選択的に用いて、この系統の評価式を導出する際に実行する回帰分析で説明変数に採用するパラメータを、上記複数パラメータの一部に限定する構成にされてもよい。この他、限定手段は、第一導出手段によって導出されたトランザクション処理の種類毎の応答性能に関する実績値及び第二導出手段によって導出されたトランザクション処理の種類毎の上記複数パラメータの各実績値を、上記系統に関係なく用いて、各系統の評価式を導出する際に実行する回帰分析で説明変数に採用するパラメータを、上記複数パラメータの一部に限定する構成にされてもよい。即ち、各系統の評価式の導出に際して実行する回帰分析では、限定手段によって限定された上記複数パラメータの一部であって、系統に依存しない共通するパラメータを説明変数に採用してもよい。
【0045】
また、評価式導出手段は、上記系統毎に、当該系統に属するトランザクション処理群の内、応答性能に関する実績値が最下位から所定順位までのトランザクション処理の種類毎の応答性能に関する実績値及び上記複数パラメータの各実績値を選択的に用いて、当該系統に対応する評価式を導出する構成にされてもよい(請求項13)。尚、限定手段についても、同様の標本に基づいて、上記説明変数に採用するパラメータを、上記複数パラメータの一部に限定する構成にすることができる。
【0046】
このように評価式を導出すれば、上述したように、当該評価式によって新規種類のトランザクション処理の応答性能が過剰に高く評価されるのを抑えることができる。
また、この予測装置には、予測手段によって算出された新規種類のトランザクション処理の応答性能に関する評価値を、新規種類のトランザクション処理の系統と同一系統に属するトランザクション処理群の内、応答性能に関する実績値が最下位の種類のトランザクション処理の当該応答性能に関する実績値と比較して、新規プログラムの情報処理システムへの導入の良否を判定する判定出力手段を設けることができる(請求項14)。
【0047】
上述したように、新規種類のトランザクション処理の系統と同一系統に属する既存のトランザクション処理群の内、応答性能が最も悪いトランザクション処理の当該応答性能よりも、新規種類のトランザクション処理の応答性能が高い場合には、新規プログラムを当該情報処理システムに導入しても、応答性能について許容されている同一系統の既存のトランザクション処理の当該応答性能よりも応答性能の良いトランザクション処理が実行されることになる。従って、上述のように新規プログラムの良否を判定して出力すれば、同一系統の既存トランザクション処理の応答性能を基準とした応答性能の良悪によって、良否判定を切り替えて、この判定結果をユーザに伝えることができ、ユーザにとっては新規プログラムの良否を簡単に把握することができる。
【0048】
また、上述した第一及び第二導出手段は、履歴取得手段により取得された実行履歴の内、正常終了したトランザクション処理の実行履歴を選択的に用いて、上記実績値(応答性能に関する実績値及び応答速度に影響を与える動作に関する複数パラメータの各実績値)を導出する構成にされると好ましい(請求項15)。異常終了したトランザクション処理の実行履歴を用いずに、上記実績値を算出すれば、この実績値を用いて、新規種類のトランザクション処理の応答性能を、より適切に予測することができる。
【0049】
この他、第二導出手段は、実行履歴に記述されたデータベースシステムに対する命令文とテータベースシステムが有するテーブルの名称一覧との突き合わせにより、命令文におけるテーブル名の記述箇所を検出し、この検出結果に基づき、上記複数のパラメータの少なくとも一つに関する実績値として、テータベースシステムが有するテーブルへのアクセスを伴う動作に関する実績値を導出する構成にすることが可能である(請求項16)。
【0050】
このような名称一覧に基づいて、実行履歴内の命令文におけるテーブル名の記述箇所を検出すれば、命令文の構造を詳細に分析しなくても、テーブル名の記述箇所を検出することができ、この記述箇所の検出によって、その周囲の文構造の特定も容易になる。従って、上述した種類の実績値を、少ない演算で導出することができる。
【0051】
尚、第二導出手段は、上記テータベースシステムが有するテーブルへのアクセスを伴う動作に関する実績値として、トランザクション処理による内部結合テーブル数又は外部結合テーブル数に関する統計量を導出する構成にすることができる。この場合、第二導出手段は、実行履歴に記述されたデータベースシステムに対する命令文とテータベースシステムが有するテーブルの名称一覧との突き合わせにより、命令文におけるテーブル名の記述箇所を検出し、検出した記述箇所周囲の文構造から記述箇所に対応するテーブルへの処理内容を特定して、内部結合テーブル数又は外部結合テーブル数をカウントする構成にすることができる(請求項17)。
【0052】
また、本発明の予測装置は、新規プログラム情報取得手段と、予測手段と、備え、予め定められた評価式を用いて、新規種類のトランザクション処理の応答性能を事前予測する構成にすることができる(請求項18)。
【0053】
即ち、新規プログラム情報取得手段は、新規プログラムに基づく新規種類のトランザクション処理を上記情報処理システムのコンピュータに実行させた場合に当該新規種類のトランザクション処理で想定される上記データベースシステムの応答速度に影響を与える動作に関する複数パラメータの各値を取得する。一方、予測手段は、予め定められた評価式に、新規プログラム情報取得手段によって取得された新規種類のトランザクション処理に対応する上記複数パラメータの各値を入力して、新規種類のトランザクション処理の応答性能に関する評価値を算出することで、新規種類のトランザクション処理の応答性能を事前予測する。
【0054】
予め定められた評価式とは、予測装置が、評価式導出手段を備える場合には、当該評価式導出手段により導出された評価式に対応する。一方、設計者が別装置を用いて評価式を導出するケースでは、当該別装置を用いて導出された評価式であって、設計者が本予測装置に対して設定した評価式を、上記「予め定められた評価式」として挙げることができる。
【0055】
尚、上記評価式には、複数パラメータとして、少なくとも次の二つのパラメータを採用することができる。即ち、二つのパラメータとして「トランザクション処理実行1回当りのデータベースシステムに対する命令の発行数」及び「トランザクション処理の実行回数」を採用することができる(請求項19)。「トランザクション処理実行1回当りのデータベースシステムに対する命令の発行数」及び「トランザクション処理の実行回数」は、応答性能と関連性の強いパラメータであり、このようなパラメータを用いて応答性能を評価すれば、高精度に応答性能を事前予測することができる。
【0056】
また、以上には、予測装置の発明について述べたが、上記予測装置が備える各手段としての機能は、プログラムによりコンピュータに実現させることができる(請求項20)。また、このプログラムは、コンピュータが読取可能な記録媒体に格納して、ユーザに提供することができる。
【0057】
この他、上述した発明は、予測方法の発明にも適用することができる。即ち、外部からの処理要求に応じてデータベースシステムへのアクセスを伴うトランザクション処理を実行する情報処理システムに対して導入された既存プログラムによるトランザクション処理の実行履歴を取得する履歴取得手順と、履歴取得手順によって取得された実行履歴に基づき、既存プログラムによって実行された複数のトランザクション処理に関して、トランザクション処理毎に、当該トランザクション処理の応答性能に関する実績値を導出する第一導出手順と、履歴取得手順によって取得された実行履歴に基づき、既存プログラムによって実行された複数のトランザクション処理に関して、トランザクション処理毎に、当該トランザクション処理でのデータベースシステムの応答速度に影響を与える動作に関する複数パラメータの各実績値を導出する第二導出手順と、第一導出手順によって導出されたトランザクション処理毎の応答性能に関する実績値及び第二導出手順によって導出されたトランザクション処理毎の複数パラメータの各実績値に基づき、情報処理システムで実行されるトランザクション処理の応答性能に関する評価値を算出可能な評価式であって、上記複数パラメータの少なくとも一部を入力変数とし上記トランザクション処理の応答性能に関する評価値を出力変数とする評価式を導出する評価式導出手順と、評価式の入力変数に該当するパラメータ夫々の値であって、情報処理システムに導入予定の新規プログラムに関して、当該プログラムに基づく新規種類のトランザクション処理を情報処理システムのコンピュータに実行させた場合に当該新規種類のトランザクション処理で想定される上記パラメータ夫々の値を取得する新規プログラム情報取得手順と、評価式導出手順によって導出された評価式に、新規プログラム情報取得手順によって取得された新規種類のトランザクション処理に対応する上記パラメータ夫々の値を入力し、新規種類のトランザクション処理の応答性能に関する評価値を算出することで、新規種類のトランザクション処理の応答性能を事前予測する予測手順と、を含み、これらの手順によって、新規プログラムを情報処理システムに導入した場合における新規種類のトランザクション処理の応答性能を事前予測する予測方法によっても、上述した予測装置の発明と同様の効果を得ることができる(請求項21)。
【0058】
同様に、外部からの処理要求に応じてデータベースシステムへのアクセスを伴うトランザクション処理を実行する情報処理システムに対して導入された既存プログラムによる複数種類のトランザクション処理の実行履歴を取得する履歴取得手順と、履歴取得手順によって取得された実行履歴に基づき、既存プログラムによって実行されるトランザクション処理の種類毎に、当該種類のトランザクション処理の応答性能に関する実績値を導出する第一導出手順と、履歴取得手順によって取得された実行履歴に基づき、既存プログラムによって実行されるトランザクション処理の種類毎に、当該種類のトランザクション処理でのデータベースシステムの応答速度に影響を与える動作に関する複数パラメータの各実績値を導出する第二導出手順と、第一導出手順によって導出されたトランザクション処理の種類毎の応答性能に関する実績値及び第二導出手順によって導出されたトランザクション処理の種類毎の複数パラメータの各実績値に基づき、情報処理システムで実行されるトランザクション処理の応答性能に関する評価値を算出可能な評価式であって、上記複数パラメータの少なくとも一部を入力変数とし上記トランザクション処理の応答性能に関する評価値を出力変数とする評価式を導出する評価式導出手順と、上記評価式の入力変数に該当するパラメータ夫々の値であって、情報処理システムに導入予定の新規プログラムに関して、当該プログラムに基づく新規種類のトランザクション処理を情報処理システムのコンピュータに実行させた場合に当該新規種類のトランザクション処理で想定される上記パラメータ夫々の値を取得する新規プログラム情報取得手順と、評価式導出手順によって導出された評価式に、新規プログラム情報取得手順によって取得された新規種類のトランザクション処理に対応する上記パラメータ夫々の値を入力し、新規種類のトランザクション処理の応答性能に関する評価値を算出することで、新規種類のトランザクション処理の応答性能を事前予測する予測手順と、を含み、これらの手順によって、新規プログラムを情報処理システムに導入した場合における新規種類のトランザクション処理の応答性能を事前予測する予測方法によっても、上述した予測装置の発明と同様の効果を得ることができる(請求項22)。
【0059】
この他、外部からの処理要求に応じてデータベースシステムへのアクセスを伴うトランザクション処理を実行する情報処理システムに、新規プログラムを導入して、当該新規プログラムに基づく新規種類のトランザクション処理を情報処理システムのコンピュータに実行させた場合の上記新規種類のトランザクション処理の応答性能を事前予測する方法であって、上記新規プログラムに基づく上記新規種類のトランザクション処理を情報処理システムのコンピュータに実行させた場合に当該新規種類のトランザクション処理で想定される上記データベースシステムの応答速度に影響を与える動作に関する複数パラメータの各値を取得する新規プログラム情報取得手順と、予め定められた評価式に、新規プログラム情報取得手順によって取得された上記新規種類のトランザクション処理に対応する上記複数パラメータの各値を入力して、上記新規種類のトランザクション処理の応答性能に関する評価値を算出することで、上記新規種類のトランザクション処理の応答性能を事前予測する予測手順と、を含むことを特徴とする予測方法によっても、上述した予測装置の発明と同様の効果を得ることができる(請求項23)。
【図面の簡単な説明】
【0060】
【図1】予測装置1及び情報処理システム100の構成を表すブロック図である。
【図2】情報処理システム100で実現される機能のブロック図である。
【図3】ログファイルの構成を表す図である。
【図4】予測装置1のCPU11が実行する予測処理を表すフローチャートである。
【図5】第二実施例における予測装置1のCPU11が実行するログ解析処理を表すフローチャートである。
【図6】内部/外部結合テーブル数の特定処理に関する説明図である。
【図7】第二実施例における予測装置1のCPU11が実行する予測処理を表すフローチャートである。
【図8】第三実施例の予測装置1が記憶する各種類のトランザクション処理の実績値の具体例を示す図である。
【図9】第三実施例における予測装置1のCPU11が実行する予測処理を表すフローチャートである。
【図10】CPU11が実行するパラメータ選択処理を表すフローチャートである。
【図11】説明変数とするパラメータの選択例を示した図である。
【発明を実施するための形態】
【0061】
以下に本発明の実施例について、図面と共に説明する。
<第一実施例>
図1に示す本実施例の予測装置1は、外部からの処理要求に応じてデータベースシステムDS(図2参照)へのアクセスを伴うトランザクション処理を実行する情報処理システム100に対し、新規プログラムを導入して当該プログラムに基づく新規種類のトランザクション処理を情報処理システム100のCPU111に実行させる場合における当該新規種類のトランザクション処理の応答性能を事前予測する装置である。このため、以下では、情報処理システム100の基本構成について最初に説明し、その後に予測装置1の詳細構成について説明する。
【0062】
図1に示す情報処理システム100は、CPU111及びRAM113等から構成される演算部110と、CPU111により実行される各種プログラムやプログラムの実行に必要なデータ、CPU111により実行されるトランザクション処理の実行履歴を表すログファイル等を記憶する記憶部130と、ネットワークNTを通じて、端末装置TMと通信可能な通信部140と、外部装置との間でデータ入出力可能な例えばシリアル通信インタフェース等で構成されるデータ入出力部150とを備える。記憶部130は、例えばハードディスク装置で構成される。
【0063】
この情報処理システム100は、例えば、支店等に設置された端末装置TMから社内ネットワークNTを通じてオンラインでアクセス可能な顧客管理システムや財務管理システム、営業支援システム等の社内システムとして構成される。
【0064】
この情報処理システム100は、図2に示すように、記憶部130に構築されたデータベース131と、CPU111を通じてソフトウェア的に実現されるデータベース管理システム120と、からなるデータベースシステムDSを備える。データベース管理システム120は、周知のように、データベース131の管理・運用を行うものであり、SQL(Structured Query Language)命令を受けて、データベース131に対するリード/ラ
イトを伴う当該SQL命令に対応した処理を実行し、当該SQL命令に対応した応答データを命令元に渡すものである。
【0065】
データベース管理システム120は、SQL命令に従って、例えば、要求されたカラムのデータを、データベース131内の指定されたテーブルから抽出し、これを命令元に渡したり、複数テーブルを結合した新たなテーブルを作成したりする。更には、作成した新たなテーブルから要求されたカラムのデータを抽出し、これを命令元に渡したりする。尚、本実施例のデータベース管理システム120は、周知のデータベース管理システムと同様の機能を有し、例えば、データベース131内のテーブルを、インデックスを用いて参照等することができる。
【0066】
この他、情報処理システム100は、記憶部130に予めインストールされたプログラムに基づく処理を演算部110(詳細にはCPU111)で実行することにより、通信部140を通じて端末装置TMから入力される処理要求に対応したトランザクション処理を実行する。演算部110では、記憶部130にインストールされたプログラムに基づく複数種類のトランザクション処理が実行される。
【0067】
各種類のトランザクション処理では、対応するプログラムの記述に従う処理が順次実行され、必要に応じてSQL命令がデータベースシステムDSに対して発行され、当該データベースシステムDSからの応答データに基づいた処理が実行される。尚、発行されるSQL命令の内容は、端末装置TMからの処理要求の内容に応じて変更される。
【0068】
各種類のトランザクション処理では、このように端末装置TMからの処理要求に応じたSQL命令を発行して当該処理要求に応じた処理を実行し、要求された処理に対応する応答データを、処理要求元の端末装置TMに送信する。ちなみに、本実施例の演算部110にて実行される各種類のトランザクション処理は、データベースシステムDSへのアクセスを伴うものであるので、その応答性能は、データベースシステムDSの応答性能に依存する。本実施例の予測装置1では、この点を考慮して、後述するように新規プログラムに基づくトランザクション処理の応答性能を予測する。
【0069】
但し、これらのトランザクション処理の全ては、インデックスを用いてデータベース131を参照等するものとする。なぜなら、インデックスを用いてテーブルを参照等するSQL命令が含まれるトランザクション処理と、インデックスを用いずにテーブルを参照等するSQL命令が含まれるトランザクション処理とが存在している場合、両者の応答性能に大きな違いが生じ、予測装置1による応答性能の予測精度に影響が出るためである。しかしながら、その予測精度への影響を許容できるのであれば、上述した両トランザクション処理が混在していても構わない。
【0070】
また、情報処理システム100において実行される各種類のトランザクション処理によれば、当該トランザクション処理の実行毎に、当該トランザクション処理の実行内容を表すレコードが、トランザクション処理の種類毎に設けられたログファイルの内、対応する種類のログファイルに登録される。
【0071】
トランザクション処理の種類毎に設けられたログファイルには、図3に示すように、当該ログファイルに対応するトランザクション処理の識別コードが記述されている。本実施例の演算部110にて実行される各種類のトランザクション処理には、固有の識別コードが割り当てられており、この識別コードは、例えば、当該トランザクション処理に対応するプログラムの作成時に、当該プログラムに埋め込まれる。即ち、各種類のトランザクション処理では、この識別コードを拠所に、自己の種類に対応するログファイルを特定し、特定したログファイルに、トランザクション処理の実行毎のレコードを登録する。
【0072】
トランザクション処理の実行毎に登録される各レコードは、トランザクション処理の実行開始時刻及び実行終了時刻の情報と、SQL発行リストとを含む。SQL発行リストは、上記実行開始時刻から実行終了時刻までの期間において実行されたトランザクション処理の実行過程において発行されたSQL命令毎の発行時刻及びSQL命令の詳細内容(SQL命令に対応する応答データ量の情報を含む。)がリスト化されたものである。
【0073】
図1に示す情報処理システム100では、トランザクション処理の実行毎に、このような内容の当該トランザクション処理の実行履歴を表すレコードがログファイルに登録される。
【0074】
続いて、予測装置1の詳細構成について説明する。本実施例の予測装置1は、図1に示すように、周知のパーソナルコンピュータと同様、CPU11及びRAM13等を備える演算部10と、ハードディスク装置等で構成される記憶部20と、キーボードやポインティングデバイス等で構成される操作部30と、液晶ディスプレイ等で構成される表示部40と、外部装置との間でデータ入出力可能な例えばシリアル通信インタフェース等で構成されるデータ入出力部50とを備える。
【0075】
この予測装置1が備える演算部10は、RAM13を作業領域として記憶部20に記憶されたプログラムに従う処理をCPU11にて実行する。そして、この処理動作によって、例えば、情報処理システム100に導入される新規プログラムによって実現される新規種類のトランザクション処理の応答性能を予測し、この予測結果を、表示部40を通じてユーザに表示出力する。
【0076】
具体的に、記憶部130には、このような処理をCPU11に実行させるための性能評価プログラムが記憶されており、操作部30を通じてユーザから当該性能評価プログラムに対する実行指令が入力されると、CPU11は、この性能評価プログラムに従う応答性能の予測処理を行う。図4には、CPU11が実行する予測処理のフローチャートを示す。
【0077】
この予測処理を開始すると、CPU11は、まず応答性能を予測する対象の新規種類のトランザクション処理に対応する系統識別コードを入力するように、表示部40を通じてユーザに対して指示し、操作部30を通じてユーザから入力される当該系統識別コードの情報を取得する(S110)。本実施例では、新規種類のトランザクション処理の応答性能を予測するに際して、情報処理システム100上で実行されたトランザクション処理の実行履歴を用いるが、これらの実行履歴の内、特に、処理内容の系統が一致している種類のトランザクション処理の実行履歴を用いて、新規種類のトランザクション処理の応答性能を予測する。
【0078】
即ち、S110では、応答性能を予測する対象の新規種類のトランザクション処理と処理内容の系統が一致する既存のトランザクション処理の実行履歴を用いて応答性能の予測動作を行うために、ユーザに対して系統識別コードを入力させる。これによって、上記新規種類のトランザクション処理が、予め定められた複数系統のいずれに分類されるものであるのかを、ユーザに通知させる。このようにして本実施例では、新規種類のトランザクション処理に対応する系統情報を、操作部30を通じてユーザから取得する。
【0079】
S110での処理を終えると、次にCPU11は、データベースシステムDSの応答速度に影響を与える動作に関するパラメータとして、上記新規種類のトランザクション処理にて想定されるデータベースシステムDSへのアクセス量に関する複数パラメータX1〜X6の各値の情報を取得する。例えば、これらの情報を入力するように、表示部40を通じてユーザに指示することで、当該情報を、操作部30を通じてユーザから取得する。
【0080】
具体的には、パラメータX1として、上記新規種類のトランザクション処理にて想定されるトランザクション処理実行1回当りのSQL命令の発行数、パラメータX2として、上記新規種類のトランザクション処理にて想定されるSQL命令発行1回当りの取得カラム数平均、パラメータX3として、上記新規種類のトランザクション処理にて想定されるSQL命令発行1回当りの内部結合テーブル数平均、パラメータX4として、上記新規種類のトランザクション処理にて想定されるSQL命令発行1回当りの外部結合テーブル数平均、パラメータX5として、上記新規種類のトランザクション処理にて想定されるSQL命令1回当りに参照されるテーブルの当該テーブル容量(レコード長×レコード数)平均、パラメータX6として、上記新規種類のトランザクション処理にて想定される所定期間当りのトランザクション処理実行回数の情報を、操作部30を通じてユーザから取得する。
【0081】
尚、パラメータX2〜X5で言う「平均」は、母集団を互いに共通とする。例えば、パラメータX2に対応する取得カラム数平均は、カラムの取得動作を伴うSQL命令に限らず、発行されるSQL命令の総数で除算して求められる平均である。同様に、パラメータX3に対応する内部結合テーブル数平均は、内部結合を伴うSQL命令に限らず、発行されるSQL命令の総数で除算して求められる平均である。
【0082】
このようにしてS120で上記新規種類のトランザクション処理にて想定される複数パラメータX1〜X6の各値の情報を取得すると、CPU11は、続くS130にて、S110で取得した系統識別コードが示す新規種類のトランザクション処理の系統と同一系統に属する各種類のトランザクション処理のログファイルを、データ入出力部50を通じて情報処理システム100から取得する。尚、情報処理システム100に導入されている既存プログラムに基づく各種類のトランザクション処理がどの系統に属するものであるかは、記憶部20が記憶する図示しない系統表に記述されている。この系統表は、情報処理システム100に導入されている既存プログラムに基づく各種類のトランザクション処理を系統別に分類してなるものであり、当該系統表には、各種類のトランザクション処理の識別コードに対し、当該種類のトランザクション処理が属する系統に対応した系統識別コードが記述されている。CPU11は、この系統表を拠り所に、新規種類のトランザクション処理の系統と同一系統に属する各種類のトランザクション処理のログファイルを、データ入出力部50を通じて情報処理システム100から取得する。
【0083】
ちなみに、本実施例では、図2に示すように、データベース131の検索結果を画面に表示出力する種類のトランザクション処理の一群を、系統Aに分類し、データベース131の検索結果を表データ(エクセルファイル等)として出力する種類のトランザクション処理の一群を、系統Bに分類し、データベース131の検索結果をドキュメントデータ(PDFファイル等)として出力する種類のトランザクション処理の一群を、系統Cに分類している。このように分類しているのは、出力形態に応じて、データベース131からのデータ抽出量が増減する傾向にあるためである。即ち、画面表示では、モニタの表示能力に合わせた必要十分な情報をデータベース131から抽出して表示する程度であるが、表データ出力では、詳細な情報も含めてデータベース131から抽出する。このような傾向に基づき、本実施例では、各種類のトランザクション処理を出力形態で分類している。また、この分類手法を採用しているのは、出力形態の違いによって、応答時間が変化することも理由に挙げられる。この他、本実施例では、データベース131の更新動作を伴う種類のトランザクション処理の一群を、系統Dに分類している。
【0084】
S130でのログファイルの取得が完了すると、CPU11は、S140に移行して、S130でログファイルを取得した新規種類のトランザクション処理の系統と同一系統に属する既存のトランザクション処理の一種類を、応答性能実績算出対象のトランザクション処理に選択し、その後、選択した応答性能実績算出対象のトランザクション処理に関して、そのログファイルが示す実行履歴の内、過去所定期間(例えば現在から遡って過去1日間や1ヶ月間等)の実行履歴に基づき、当該応答性能実績算出対象のトランザクション処理のレスポンスインデックスRIを算出する(S150)。
【0085】
尚、ここで言うレスポンスインデックスRIは、過去所定期間において実行された応答性能実績算出対象のトランザクション処理の各回の応答時間(トランザクション処理の実行開始時刻から実行終了時刻までの時間長さ)の平均である平均応答時間Trに、過去所定期間における応答性能実績算出対象のトランザクション処理の実行回数Mを乗算した値Tr・Mである。換言すれば、ここでは、レスポンスインデックスRIとして、過去所定期間において実行された応答性能実績算出対象のトランザクション処理の総実行時間(応答時間の合計)を算出する。このレスポンスインデックスRIは、本実施例において、当該応答性能実績算出対象のトランザクション処理についての過去所定期間の応答性能の実績値として取り扱われる。
【0086】
また、このようにして応答性能実績算出対象のトランザクション処理についてのレスポンスインデックスRIを算出すると、CPU11は、S160に移行して、新規種類のトランザクション処理の系統と同一系統に属する既存の各種類のトランザクション処理の全てについて、レスポンスインデックスRIの算出を行ったか否かを判断し、行っていなければ(S160でNo)、S140に移行し、レスポンスインデックスRIの算出が行われていない種類のトランザクション処理を新たに応答性能実績算出対象のトランザクション処理に選択して、S150以降の処理を実行する。
【0087】
このような処理の繰返しにより、新規種類のトランザクション処理の系統と同一系統に属する既存の各種類のトランザクション処理の全てについてのレスポンスインデックスRIの算出が完了すると(S160でYes)、CPU11は、S170に移行し、変数j=1に設定して(S170)、S180以降の処理を実行する。
【0088】
具体的に、S180では、S140〜S160の処理でレスポンスインデックスRIを算出した新規種類のトランザクション処理と同一系統に属する既存の各種類のトランザクション処理の一群の内、レスポンスインデックスRIが最下位からj番目の種類のトランザクション処理についての上記複数パラメータX1〜X6の実績値を、当該種類のトランザクション処理についての過去所定期間の実行履歴に基づいて算出する。
【0089】
即ち、パラメータX1の実績値として、ログファイルが示す過去所定期間の実行履歴から特定されるトランザクション処理実行1回当りのSQL命令の発行数を算出し、パラメータX2の実績値として、ログファイルが示す過去所定期間の実行履歴から特定されるSQL命令発行1回当りの取得カラム数平均を算出し、パラメータX3の実績値として、ログファイルが示す過去所定期間の実行履歴から特定されるSQL命令発行1回当りの内部結合テーブル数平均を算出し、パラメータX4の実績値として、ログファイルが示す過去所定期間の実行履歴から特定されるSQL命令発行1回当りの外部結合テーブル数平均を算出し、パラメータX5の実績値として、ログファイルが示す過去所定期間の実行履歴から特定されるSQL命令発行1回当りに参照されたテーブルの当該テーブル容量(レコード長×レコード数)平均を算出し、パラメータX6の実績値として、ログファイルが示す過去所定期間の実行履歴から特定される過去所定期間でのトランザクション処理実行回数を算出する。尚、ここで言う「過去所定期間」は、S120,S150で表現したところの「所定期間」と同一時間長さである。
【0090】
このようにしてS180での処理を終えると、CPU11は、S190に移行し、S180で算出したレスポンスインデックスRIが最下位からj番目の種類のトランザクション処理についての上記複数パラメータX1〜X6の各実績値、及び、当該レスポンスインデックスRIの組を、回帰分析に用いる標本データに設定する。
【0091】
その後、CPU11は、変数jを1加算した値に更新し(S200)、更新後の変数jが規定数Nを超えたか否かを判断する(S210)。そして、更新後の変数jが規定数Nを越えていない場合には、S180に移行して、更新後の当該変数jに基づく上述内容の処理を実行し、当該処理にて得られたレスポンスインデックスRIが最下位からj番目の種類のトランザクション処理についての上記複数パラメータX1〜X6の各実績値、及び、当該レスポンスインデックスRIの組を、回帰分析に用いる標本データに設定する。このような動作の繰返しにより、S180〜S210の処理ループでは、レスポンスインデックスRIが最下位から第N位までの各種類のトランザクション処理についての標本データを生成する。
【0092】
そして、レスポンスインデックスRIが最下位から第N位までの各種類のトランザクション処理についてのS180,S190の処理が完了し、変数jが規定数Nを超えると(S210でYes)、S220に移行して、これらN個の標本データを用いた回帰分析により、新規種類のトランザクション処理の応答性能に関する評価値として、レスポンスインデックスRIの予測値を算出可能な評価式f(X1,…,X6)であってパラメータX1〜X6を入力変数としレスポンスインデックスRIを出力変数とする評価式f(X1,…,X6)を導出する。
【0093】
即ち、S220では、新規種類のトランザクション処理と同一系統に属する複数種類のトランザクション処理の内、レスポンスインデックスRIが最下位から第N位までの各種類のトランザクション処理に基づいて生成した上記N個の標本データに基づき、パラメータX1〜X6を説明変数とし、レスポンスインデックスRIを目的変数とする線形回帰分析を行う。
【0094】
周知のように、最小二乗法により、標本データの分布に対応する超平面Y=f(X1,…,X6)の係数K1,…,K6及び切片K0を算出するのである。
Y=f(X1,…,X6)=K1・X1+K2・X2+K3・X3+K4・X4+K5・X5+K6・X6+K0
そして、算出した係数K1,…,K6及び切片K0を採用した上記関数f(X1,…,X6)を、パラメータX1〜X6から新規種類のトランザクション処理のレスポンスインデックスRIの予測値を算出可能な評価式f(X1,…,X6)として導出する。尚、このような手法によって評価式(X1,…,X6)を導出するために、標本データの個数Nは、少なくとも未知数K0〜K6に対応した個数以上に設定する必要がある。
【0095】
また、このようにして線形回帰分析を行い、評価式f(X1,…,X6)を導出すると、CPU11は、S230に移行し、当該評価式f(X1,…,X6)に、S120で取得した新規種類のトランザクション処理に対応する複数パラメータX1〜X6の各値を代入することにより、新規種類のトランザクション処理に関するレスポンスインデックスRIの予測値を算出する。
【0096】
その後、CPU11は、当該予測値が、S150で算出されたレスポンスインデックスRIが最下位の種類のトランザクション処理の当該レスポンスインデックスRI以下であるか否かを判断することにより、新規種類のトランザクション処理の応答性能が、応答性能が最下位の種類のトランザクション処理の応答性能よりも良いか否かを判断し(S240)、予測値が、レスポンスインデックスRIが最下位の種類のトランザクション処理についての当該レスポンスインデックスRI以下である場合には(S240でYes)、新規種類のトランザクション処理を実現する新規プログラムの情報処理システム100への導入良否を「良」と判定して(S250)、S270に移行し、新規プログラムの情報処理システム100への導入は問題ない旨のメッセージを、表示部40を通じて表示すると共に、S230で算出されたレスポンスインデックスRIの予測値を、表示部40を通じて表示する。その後、当該予測処理を終了する。
【0097】
一方、予測値が、レスポンスインデックスRIが最下位の種類のトランザクション処理についての当該レスポンスインデックスRIより大きい場合には(S240でNo)、新規種類のトランザクション処理を実現する新規プログラムの情報処理システム100への導入良否を「否」と判定して(S260)、S270に移行し、新規プログラムの情報処理システム100への導入に際しては、プログラムの導入の要否、処理内容の変更、基盤増強などを検討する必要がある旨のメッセージを、表示部40を通じて表示する。また、これと併せて、S230で算出されたレスポンスインデックスRIの予測値を、表示部40を通じて表示する。その後、当該予測処理を終了する。
【0098】
以上、本実施例の予測装置1の詳細構成について説明したが、本実施例によれば、既存種類のトランザクション処理でのデータベースシステムDSの応答速度に影響を与える動作に関する複数パラメータX1〜X6の各実績値及び既存種類のトランザクション処理の応答性能の実績値(レスポンスインデックス)を標本として線形回帰分析することにより、パラメータX1〜X6から新規種類のトランザクション処理の応答性能(レスポンスインデックスRI)を見積もることができるようにした。
【0099】
従って、この予測装置1を用いれば、新規プログラムによるトランザクション処理を情報処理システムのコンピュータに実行させなくても、データベースシステムDSの応答性能を考慮して、新規プログラムによるトランザクション処理の応答性能を評価することができ、プログラムミング後のパフォーマンステストでしか新規プログラムによるトランザクション処理の応答性能を評価することのできなかった従来技術と比較して、応答性能に問題がある場合の対応が採りやすく、情報処理システム100の管理者に対して有用なツールを提供することができる。
【0100】
即ち、プログラミング前に新規プログラムによるトランザクション処理の応答性能を評価することのできる本実施例の予測装置1を用いれば、応答性能に問題がある場合に、処理内容を再検討する、新規プログラムの導入自体を止めることを検討する、情報処理システム100の基盤増強を検討するといった多くの選択肢の中から、今後の対応を採ることができて、便利である。また、本実施例によれば、応答性能が不明な状態で新規プログラムを情報処理システムに導入してパフォーマンステストを実行しなくても済むので、応答性能に問題のある新規プログラムを情報処理システムに導入することで、既存プログラムによるトランザクション処理に悪影響が及ぶのを回避することができる。
【0101】
また、本実施例の予測装置1によれば、新規種類のトランザクション処理に関するレスポンスインデックスRIの予測値を、レスポンスインデックスRIが最も悪い種類のトランザクション処理の当該レスポンスインデックスRIと比較して、新規種類のトランザクション処理の応答性能の良否を判定し、その判定結果をユーザに伝えるようにしたので、ユーザに対して分かり易く応答性能の良否を伝えることができる。
【0102】
この他、本実施例の予測装置1によれば、各種類のトランザクション処理を複数系統に分類し、系統別に、既存のトランザクション処理の実行履歴から評価式f(X1,…,X6)を算出し、新規種類のトランザクション処理に対応する系統の評価式f(X1,…,X6)に基づいて、新規種類のトランザクション処理の応答性能を予測するようにした。従って、本実施例によれば、新規種類のトランザクション処理の応答性能を高精度に予測することができる。
【0103】
特に、本実施例によれば、新規種類のトランザクション処理と同一系統の既存種類のトランザクション処理群の内、応答性能の悪いものから所定個(N個)の各種類のトランザクション処理の実行履歴を採り上げて、当該実行履歴に基づき評価式f(X1,…,X6)を算出するようにしたので、新規種類のトランザクション処理の応答性能を過剰に良好に見積もらなくて済み、新規種類のトランザクション処理の応答性能の良否を適切に判断することができる。
<第二実施例>
続いて、第二実施例について説明する。図5は、予測装置1のCPU11が実行するログ解析処理のフローチャートに、第二実施例の予測装置1が取り扱うログファイルの構成図を付したものである。
【0104】
第二実施例の予測装置1は、第一実施例と同様、データ入出力部50を通じて情報処理システム100からトランザクション処理の実行履歴を表すログファイルを取得し、これに基づいて、新規種類のトランザクション処理の応答性能を予測する。但し、本実施例にて情報処理システム100から得られるログファイルは、図5右図に示すように、トランザクション処理の内容が時系列に記述された単純な構成のログファイルである。このようなログファイルに基づいては、各トランザクション処理の実行履歴記述エリアを特定し、実行履歴として記述されたSQL命令文を解析する必要がある。以下では、このようなログファイルの解析を行うために、CPU11が実行するログ解析処理の詳細を、図5を用いて説明する。
【0105】
尚、本実施例では、各種類のトランザクション処理の実行履歴が、種類毎に分離されて個別のログファイルとして情報処理装置100から出力される環境、及び、各種類のトランザクション処理の実行履歴が、複数種類まとめられて共通のログファイルとして情報処理装置100から出力される環境の夫々を想定している。そして、図5を用いては、これらのいずれの環境にも対応可能なログ解析処理の内容について説明する。このログ解析処理は、定期的に又は利用者の実行指令に基づいて、CPU11により実行される。
【0106】
図5に示す処理を開始すると、CPU11は、データ入出力部50を通じて、解析対象のログファイルを情報処理システム100から取得する(S310)。その後、このログファイルを参照し、解析されていないトランザクション処理の内、最も過去に実行されたトランザクション処理の開始コマンドを検出する(S320)。尚、ログファイルには、実行されたトランザクション処理毎に、トランザクション処理の開始コマンド及びトランザクション処理の終了コマンドが、当該トランザクション処理の種類に対応する識別コード(ID)と共に記述されているものとする。また、トランザクション処理の開始コマンドとトランザクション処理の終了コマンドとに挟まれた領域には、このトランザクション処理で発行されたSQL命令の一群(以下、SQL文と表現する。)が記述されているものとする。更に、このログファイルには、上記トランザクション処理毎に、このトランザクション処理の応答時間(実行時間)を特定可能な情報(タイムスタンプ等)が記述されているものとする。
【0107】
CPU11は、トランザクション処理の開始コマンドを検出すると、このトランザクション処理の識別コードに基づき、トランザクション処理の種類を特定し、その後に続いて記述されるSQL文を、このトランザクション処理にて実行されたSQL文として抽出し(S330)、トランザクション処理の終了コマンドを検出すると(S340)、トランザクション処理の終了コマンドの種類に基づき、このトランザクション処理が正常終了したか否かを判断する(S350)。例えば、終了コマンドとして、SQL命令をデータベース131に反映させるコマンドである「COMMIT」が記述されていれば、トランザクション処理が正常終了したと判断し、終了コマンドとして、SQL命令を破棄するコマンドである「ROLLBACK」が記述されていれば、トランザクション処理が正常終了していない(異常終了した)と判断する。
【0108】
そして、正常終了したと判断すると(S350でYes)、S360〜S380の実行後、S390に移行し、正常終了していないと判断すると(S350でNo)、S360〜S380の処理を実行せずに、S390に移行する。
【0109】
S360に移行すると、CPU11は、正常終了した上記トランザクション処理を解析対象として、次の処理を実行する。即ち、S330で抽出したSQL文を解析し、このトランザクション処理でのSQL命令の発行数、取得カラム数、内部結合テーブル数、外部結合テーブル数、及び、参照されたテーブルのテーブル容量(レコード長×レコード数)を特定する。更には、このトランザクション処理の応答時間を特定する。
【0110】
その後、CPU11は、上記特定した解析対象のトランザクション処理の応答時間に基づき、この種類のトランザクション処理に対して保持しているレスポンスインデックスRIの値を更新する(S370)。尚、レスポンスインデックスRIは、上記実施例と同様に、所定期間において実行された該当種類のトランザクション処理の総実行時間(応答時間の合計)を表す。具体的には、レスポンスインデックスRIの現在値に、今回の応答時間を加算して、レスポンスインデックスRIを更新することができる。
【0111】
尚、本実施例の予測装置1は、記憶部20において、トランザクション処理の種類毎に、この種類のトランザクション処理の実行履歴から得られたレスポンスインデックスRI及び上記複数パラメータX1〜X6の各実績値の情報を保持する。第一実施例と同様、パラメータX1の実績値は、トランザクション処理実行1回当りのSQL命令の発行数であり、パラメータX2の実績値は、SQL命令発行1回当りの取得カラム数平均であり、パラメータX3の実績値は、SQL命令発行1回当りの内部結合テーブル数平均であり、パラメータX4の実績値は、SQL命令発行1回当りの外部結合テーブル数平均であり、パラメータX5の実績値は、SQL命令発行1回当りに参照されたテーブルのテーブル容量(レコード長×レコード数)平均であり、パラメータX6の実績値は、トランザクション処理実行回数である。パラメータX6の実績値として保持するトランザクション処理実行回数は、上記パラメータX1〜X5の実績値の算出に用いたトランザクション処理の標本数に一致する。
【0112】
また、CPU11は、レスポンスインデックスRIの更新と共に、S360で特定したSQL命令の発行数、取得カラム数、内部結合テーブル数、外部結合テーブル数、及び、参照されたテーブルのテーブル容量(レコード長×レコード数)に基づき、解析対象のトランザクション処理の種類に対応するパラメータX1〜X6の各実績値を更新する(S380)。その後、S390に移行する。
【0113】
S390に移行すると、CPU11は、ログファイルの終端までの解析が終了したか否かを判断し、終了していなければ(S390でNo)、S320に移行する。そして、S320以降の処理を実行する。この繰返しによって、CPU11は、トランザクション処理毎に、ログファイルから実行履歴を抽出し、これを解析し、対応する種類のレスポンスインデックスRI及びパラメータX1〜X6の各実績値を更新する。そして、ログファイル終端までの解析が終了すると、当該ログ解析処理を終了する。
【0114】
また、上述のS360では、具体的に、図6(a)に示す処理を実行することにより、内部結合テーブル数及び外部結合テーブル数を特定する。図6(a)は、CPU11が実行する内部/外部結合テーブル数特定処理を表すフローチャートであり、図6(b)は、SQL文から内部結合テーブルに関する記述を抽出する方法についての説明図である。
【0115】
図6(a)に示す内部/外部結合テーブル数特定処理を開始すると、CPU11は、S330で抽出されたSQL文内の文字列を、記憶部20に記憶されたテーブル一覧表に登録された各テーブルの名称(文字列)と突き合わせて、SQL文においてテーブル名が記述された箇所を特定する(S361)。これによって、該当トランザクション処理により参照されたテーブル(以下、アクセステーブルと表現する。)の名称を特定する。この処理は、図6(b)に示す「プロセスA」に対応する。尚、テーブル一覧表は、データベースシステムDSが有する各テーブルの名称(文字列)が登録された一覧表である。このテーブル一覧表は、情報処理システム100の管理者や、情報処理システム100における情報処理により作成され、記憶部20に登録される。
【0116】
S361での処理を終えると、CPU11は、S362に移行し、各アクセステーブルの名称が記述された箇所周辺のSQL文の文構造に基づき、S361で特定されたアクセステーブルの内、内部結合テーブルに該当するアクセステーブルを抽出する。そして、抽出したアクセステーブル数をカウントすることにより、該当トランザクション処理内での内部結合テーブル数を特定する。この処理は、図6(b)に示す「プロセスB」に対応する。図6(b)に示す例によれば、「INNER JOIN」の直前にテーブル名が記述されたテーブルが内部結合テーブルに対応する。
【0117】
また、S362の処理と併せて、CPU11は、各アクセステーブルの名称が記述された箇所周辺のSQL文の文構造に基づき、S361で特定されたアクセステーブルの内、外部結合テーブルに該当するアクセステーブルを抽出し、抽出したアクセステーブル数をカウントすることにより、該当トランザクション処理内での外部結合テーブル数を特定する処理を実行する(S363)。その後、内部/外部結合テーブル数特定処理を終了する。CPU11は、このようにして、内部及び外部結合テーブル数を特定する。
【0118】
また、本実施例のCPU11は、図7に示す予測処理を実行することにより、当該予測処理とは独立して実行される上記ログ解析処理の実行結果に基づき、新規種類のプログラムのレスポンスインデックスRIの予測値を算出し、これを出力する。
【0119】
予測処理を開始すると、CPU11は、第一実施例におけるS110,S120の処理と同様の処理を実行することにより、新規種類のトランザクション処理に対応する系統識別コードを取得し(S410)、更には、上記新規種類のトランザクション処理にて予想されるデータベースシステムDSへのアクセス量に関する上記パラメータX1〜X6の各値の情報を取得する(S420)。
【0120】
その後、CPU11は、S410で取得した系統識別コードに基づき、この系統識別コードが示す新規種類のトランザクション処理の系統と同一系統に属する種類のトランザクション処理群の内、レスポンスインデックスRIが最下位から第N位(即ちN番目)までの合計N個の種類のトランザクション処理を特定する(S430)。
【0121】
そして、記憶部20が記憶するパラメータX1〜X6の各実績値、及び、レスポンスインデックスRIに基づき、上記N個の種類のトランザクション処理について、トランザクション処理の種類毎の標本データを生成する(S440)。標本データは、パラメータX1〜X6の各実績値、及び、レスポンスインデックスRIの組からなる。この処理によって、S440では、第一実施例のS220で用いられるN個の標本データと、同一のN個の標本データが生成される。
【0122】
その後、CPU11は、S450,S460,S470,S480,S490,S500に対応する処理として、第一実施例のS220,S230,S240,S250,S260,S270と同様の処理を実行する。
【0123】
これによって、CPU11は、新規種類のトランザクション処理と同一系統に属する複数種類のトランザクション処理の内、レスポンスインデックスRIが最下位から第N位までの各種類のトランザクション処理に対応する上記N個の標本データに基づき、線形回帰分析を行って、新規種類のトランザクション処理についてのレスポンスインデックスRIの予測値を算出可能な評価式f(X1,…,X6)であってパラメータX1〜X6を入力変数としレスポンスインデックスRIを出力変数とする評価式f(X1,…,X6)を導出し(S450)、この評価式にS420で取得した新規種類のトランザクション処理に対応する複数パラメータX1〜X6の各値を代入して、新規種類のトランザクション処理についてのレスポンスインデックスRIの予測値を算出する(S460)。
【0124】
そして、S440で生成した標本データ群が示す最下位のレスポンスインデックスRIの値を基準に、この予測値の良否を判定し(S470〜S490)、レスポンスインデックスRIの予測値と共に、良否の判定結果を、表示部40を通じて表示する(S500)。その後、当該予測処理を終了する。
【0125】
以上、第二実施例について説明したが、本実施例によれば、第一実施例と同様、CPU11による情報処理によってログファイルを解析し、レスポンスインデックスRIやパラメータX1〜X6の各実績値を求めるので、人による手作業によりログファイルを解析してレスポンスインデックスRIやパラメータX1〜X6の各実績値を求める場合よりも、正確に、これらの実績値を求めることができる。また、大量の実行履歴に基づいて、これらの実績値を求めることができ、標本のバラツキによる誤差を抑えることができるといった利点がある。
【0126】
特に、本実施例によれば、SQL文を解析する際に、テーブル一覧表を用いてテーブル名の記述箇所を検出し、この記述箇所周囲のSQL文の文構造から、内部結合テーブルや外部結合テーブルに関する記述を検出するので、テーブル一覧表を用いずに、SQL文を解析する場合よりも、SQL文の解釈が容易で、効率的に且つ正確にSQL文を解析し、上記実績値を算出することができる。
【0127】
また、本実施例によれば、異常終了したトランザクション処理の実行履歴を用いずに、正常終了したトランザクション処理の実行履歴を選択的に用いて、上記評価式を求めるので、この評価式を用いて、新規種類のトランザクション処理の応答性能(レスポンスインデックス)を、適切に予測することができる。
<第一及び第二の実施例の変形例>
以上に、第一実施例及び第二実施例について説明したが、これら実施例の変形例としては次のような例が考えられる。例えば、上記実施例では、レスポンスインデックスRIとして、トランザクション処理の応答時間(実行時間)の合計を算出するようにしたが、レスポンスインデックスRIとしては、トランザクション処理の平均応答時間を採用されてもよい。本実施例において、応答時間の合計を、レスポンスインデックスRIとして算出するようにしたのは、情報処理システム100の基盤環境への影響も加味した新規プログラムの性能評価を行うためであり、新規プログラム単体の性能評価を単に行うのであれば、レスポンスインデックスRIとして、トランザクション処理の平均応答時間を採用されても、何ら問題ない。
【0128】
この他、上記実施例では、パラメータX1〜X6を説明変数として回帰分析を行い、パラメータX1〜X6から新規種類のトランザクション処理についてのレスポンスインデックスRIの予測値を算出可能な評価式f(X1,…,X6)を導出するようにしたが、簡易的には、パラメータX1〜X6に代えて、例えば、該当種類のトランザクション処理がデータ取得を行う対象のテーブル数である取得対象テーブル数、該当種類のトランザクション処理が参照するテーブル容量(レコード長×レコード数)の平均、所定期間でのトランザクション処理実行回数を用いて回帰分析を行い、評価式を導出してもよい。
【0129】
また、上記実施例では、新規プログラムに関するパラメータX1〜X6の各値の情報を、操作部30を通じてユーザから取得したが、予測装置1には、新規プログラムを解析してパラメータX1〜X6の各値を算出するためのプログラムを設けてもよい。即ち、予測装置1は、ユーザから取得した新規プログラムを解析して、このプログラムに対応するパラメータX1〜X6の各値を算出する構成にされてもよい。
【0130】
この他、上記実施例では、トランザクション処理の種類毎に、レスポンスインデックスRI及びパラメータX1〜X6を求めて、これらを標本とした回帰分析を行うようにしたが、トランザクション処理の種類毎ではなくトランザクション処理毎に標本を設定して、回帰分析を行うように、予測装置1は構成されてもよい。即ち、トランザクション処理1回の実行履歴から1つの標本を作成して回帰分析を行うように、予測装置1は構成されてもよい。
【0131】
トランザクション処理の種類毎のレスポンスインデックスRI及びパラメータX1〜X6を求める代わりに、トランザクション処理毎に、レスポンスインデックスRIの実績値として、このトランザクション処理の実行回での応答時間を算出し、パラメータX1の実績値として、当該実行回でのSQL命令の発行数を算出し、パラメータX2の実績値として、当該実行回でのSQL命令発行1回当りの取得カラム数平均を算出し、パラメータX3の実績値として、当該実行回でのSQL命令発行1回当りの内部結合テーブル数平均を算出し、パラメータX4の実績値として、当該実行回でのSQL命令発行1回当りの外部結合テーブル数平均を算出し、パラメータX5の実績値として、当該実行回でのSQL命令発行1回当りに参照されたテーブルの当該テーブル容量(レコード長×レコード数)平均を算出するといった具合である。この場合には、標本として、トランザクション処理毎の上記レスポンスインデックスRI及びパラメータX1〜X5を用いて回帰分析を行い、パラメータX1〜X5から新規種類のトランザクション処理のレスポンスインデックスRIの予測値を算出可能な評価式f(X1,…,X5)を導出することになる。
【0132】
例えば、第二実施例によれば、S370及びS380においてトランザクション処理毎のレスポンスインデックスRI(応答時間)及びパラメータX1〜X5の実績値の記憶部20への登録動作を行い、図7に示す予測処理では、記憶部20に記憶されたトランザクション処理毎のレスポンスインデックスRI(応答時間)及びパラメータX1〜X5の実績値を標本データとして、評価式f(X1,…,X5)を導出するといった具合である。
【0133】
この場合には、上記実施例と同様、新規種類のトランザクション処理と同一系統の種類のトランザクション処理群の実行履歴に基づき、回帰分析を行ってもよいし、系統に関係なく、全系統のトランザクション処理の実行履歴に基づき、回帰分析を行ってもよい。
【0134】
また、第二実施例のS360では、参照されたテーブルのテーブル容量(レコード長×レコード数)を、テーブル一覧表にテーブル名と対応付けて記述された該当テーブルのレコード長と、SQL命令にて取得されたレコード数の情報とから特定することが可能である。
<第三実施例>
続いて、第三実施例について説明する。第三実施例の予測装置1は、トランザクション処理の種類毎に、パラメータX1〜X6に代わるパラメータZ1〜Z5の各実績値を記憶するように構成されている点、ログファイル解析処理によって上記パラメータZ1〜Z5の各実績値を更新するように構成されている点、及び、予測処理によって評価式を導出する際の回帰分析で説明変数に用いるパラメータを、上記パラメータZ1〜Z5の中から選択するように構成されている点で第二実施例の予測装置1と異なる。一方、第三実施例の予測装置1は、他の多くの点で第二実施例の予測装置1と共通する構成を有する。従って、以下では、第三実施例の予測装置1が用いるパラメータZ1〜Z5の内容、並びに、CPU11が実行するログ解析処理及び予測処理の内容を選択的に説明する。
【0135】
本実施例の予測装置1における記憶部20には、トランザクション処理の種類毎に、この種類のトランザクション処理の実行履歴であってログファイルが示す過去所定期間の実行履歴から得られたレスポンスインデックスRI、上記パラメータZ1〜Z5の各実績値及び平均応答時間が保持される。
【0136】
パラメータZ1の実績値は、トランザクション処理実行1回当りのSQL命令の発行数であり、パラメータZ2の実績値は、SQL命令発行1回当りの取得カラム数平均であり、パラメータZ3の実績値は、SQL命令発行1回当りに参照されたテーブル数の平均であり、パラメータZ4の実績値は、SQL命令発行1回当りに参照されたテーブルのテーブル容量(レコード長×レコード数)平均であり、パラメータZ5の実績値は、所定期間(例えば1日)におけるトランザクション処理実行回数である。パラメータZ5の実績値として保持するトランザクション処理実行回数は、パラメータZ1〜Z4の実績値の算出に用いたトランザクション処理の標本数に一致する。
【0137】
そして、本実施例の予測装置1におけるCPU11は、第二実施例と同様に概ね図5に示す内容のログ解析処理を実行する一方、S360〜S380では次の処理を実行する。即ち、S360では、S330で抽出したSQL文(解析対象のトランザクション処理のSQL文)を解析し、このトランザクション処理におけるSQL命令の発行数、取得カラム数、参照されたテーブルの数であるアクセステーブル数、及び、参照されたテーブルのテーブル容量(レコード長×レコード数)であるアクセステーブル容量を特定する。更に、このトランザクション処理の応答時間を特定する。
【0138】
また、S370では、上記特定した応答時間に基づき、このトランザクション処理の種類に対して記憶部20が保持するレスポンスインデックスRIの値を更新する(S370)。尚、本実施例のレスポンスインデックスRIは、上記実施例と同様に、過去所定期間において実行された該当種類のトランザクション処理の総実行時間(応答時間の合計)を表す。
【0139】
また、S380では、S360で特定したSQL命令の発行数、取得カラム数、アクセステーブル数、アクセステーブル容量に基づき、記憶部20が記憶する解析対象のトランザクション処理の種類に対応するパラメータZ1〜Z5の各実績値を更新する。S380では、更に、レスポンスインデックスRIをトランザクション処理実行回数(Z5)で除算することによって、この種類のトランザクション処理についての平均応答時間を算出し、記憶部20が記憶する解析対象のトランザクション処理の種類に対応する平均応答時間を更新する。図8には、記憶部20が記憶するトランザクション処理の種類毎の平均応答時間、レスポンスインデックスRI、及び、パラメータZ1〜Z5の各実績値の例を示す。これらの情報は、トランザクション処理の種類に対応する識別コード(ID)に関連付けられて記憶される。
【0140】
続いて、CPU11が実行する本実施例の予測処理について、図9〜図11を用いて説明する。本実施例のCPU11は、第二実施例と同様、操作部30を通じてユーザから実行指令が入力されると、図9に示す予測処理を実行することにより、上記ログ解析処理の実行結果に基づき、新規種類のプログラムのレスポンスインデックスRIの予測値を算出し、これを出力する。
【0141】
図9に示す予測処理を開始すると、CPU11は、まず第二実施例におけるS410の処理と同様の処理を実行することにより、新規種類のトランザクション処理に対応する系統識別コードを取得する(S510)。
【0142】
その後、パラメータ選択処理の実行条件が満足されているか否かを判断する(S515)。詳細については後述するが、パラメータ選択処理では、評価式の導出のために実行する回帰分析において説明変数として用いるパラメータ(換言すれば評価式の入力変数とするパラメータ)を、パラメータZ1〜Z5の中から選択する。また、本実施例では、トランザクション処理の系統毎に、このパラメータ選択処理を実行する。
【0143】
このため、S515では、S510で取得された系統識別コードに基づき、この系統識別コードに対応する系統に対して上記パラメータ選択処理を既に実行しているか否かを判断し、未だ実行していない場合には、パラメータ選択処理の実行条件が満足されていると判断し(S515でYes)、既に実行している場合には、パラメータ選択処理の実行条件が満足されていないと判断する(S515でNo)。
【0144】
尚、パラメータ選択処理については、系統毎に、一回のみ実行する実施形態の他、所定期間毎に実行する実施形態等も考えられる。従って、S515では、所定期間内に、この系統に関してのパラメータ選択処理を既に実行しているか否かを判断し、実行していない場合には、パラメータ選択処理の実行条件が満足されていると判断し、既に実行している場合には、パラメータ選択処理の実行条件が満足されていないと判断してもよい。この他、パラメータ選択処理については、予測処理の実行の度、毎回実行することも考えられる。この場合には、S515で常に肯定判断することになる。
【0145】
S515でパラメータ選択処理の実行条件が満足されていると判断すると(S515でYes)、CPU11は、S520に移行し、図10に示すパラメータ選択処理を実行した後、S530に移行する。一方、パラメータ選択処理の実行条件が満足されていないと判断すると(S515でNo)、S520の処理を実行せずに、S530に移行する。
【0146】
パラメータ選択処理を開始すると、CPU11は、S510で取得された系統識別コードに基づき、新規種類のトランザクション処理と同一系統の各種類のトランザクション処理についてのパラメータZ1〜Z5の各実績値、及び、レスポンスインデックスRIを記憶部20から抽出し、この抽出データに基づき、トランザクション処理の種類毎の標本データを生成する(S521)。標本データは、対応する種類のトランザクション処理についてのパラメータZ1〜Z5の各実績値、及び、レスポンスインデックスRIの組からなる。
【0147】
但し、S521では、新規種類のトランザクション処理と同一系統の全種類のトランザクション処理について、種類毎の上記標本データを生成する動作に代えて、次の動作を実行してもよい。即ち、第二実施例におけるS430,S440の処理と同様に、新規種類のトランザクション処理と同一系統の種類のトランザクション処理群の内、レスポンスインデックスRIが最下位から第N位までの合計N個の種類のトランザクション処理についての上記標本データを選択的に生成してもよい。
【0148】
S521での処理を終えると、CPU11は、S523に移行し、説明変数をパラメータZ1〜Z5に設定し、目的変数をレスポンスインデックスRIに設定した線形回帰分析を、S521で生成した標本データ群に基づき実行することによって、回帰式、及び、説明変数毎(換言すれば回帰係数毎)のt値及びp値を算出する(S523)。
【0149】
周知のように、回帰分析で得られるt値は、対応する説明変数の目的変数との関連性の程度を示し、p値は、対応する説明変数の傾きの危険率を示す。そして、t値が低い説明変数に対応するパラメータは、説明変数として適当でない可能性が高く、p値が高い説明変数に対応するパラメータは、説明変数として適当でない可能性が高い。従って、パラメータが説明変数として適当であるか否かの判断は、周知のように有意水準と自由度との関係によって定まるt境界値を用いて、t値がt境界値未満であれば、適当でないと判断し、t値がt境界値以上であれば、適当であると判断することで実現することができる。自由度を100、有意水準を5%として両側検定を行う場合、t境界値は、およそ2となる。この他、パラメータが説明変数として適当であるか否かの判断は、p値が有意水準以下であれば、適当であると判断し、p値が有意水準を超える場合には、適当でないと判断することで実現することができる。
【0150】
S523での処理を終えると、CPU11は、このようなt値及びp値の性質を利用して、線形回帰分析で得られた説明変数毎のt値及びp値に基づき、パラメータZ1〜Z5の内、説明変数として適当でない可能性が高いパラメータを、評価式の導出の際に実行する回帰分析で用いる説明変数から排除する対象に決定する(S524)。
【0151】
具体的には、予め定められた第一の基準に従って、上記説明変数から排除する対象のパラメータを決定する。即ち、S524では、予め定められた有意水準αと、標本データの数及び説明変数の数から定まる自由度と、に基づき、この有意水準α及び自由度で両側検定を行う場合のt境界値を、周知の関数を利用して算出し、S523で算出された説明変数毎のt値及びp値を指標に、t値の絶対値がt境界値未満である説明変数に対応するパラメータを排除対象に仮決定すると共に、p値が上記予め定められた有意水準αを超える(有意水準5%である場合には0.05を超える)説明変数に対応するパラメータを、排除対象に仮決定する。
【0152】
そして、排除対象に仮決定したパラメータ群の中で、最も説明変数として適当なパラメータを排除対象から除外した後、残りのパラメータを、排除対象に本決定する。具体的に、本実施例では、排除対象に仮決定したパラメータ群の中で、t値の絶対値が最も大きい説明変数に対応するパラメータを、排除対象から除外することにより、排除対象に仮決定したパラメータ群のうち、t値の絶対値が最も大きい説明変数に対応するパラメータ以外のパラメータを、排除対象に本決定する。但し、S524の処理では、排除対象に決定されるパラメータがない場合も起こり得る。
【0153】
その後、CPU11は、S526に移行し、直前の回帰分析で説明変数に用いたパラメータの内、当該回帰分析から得られたt値及びp値に基づいて排除対象に決定されたパラメータ以外のパラメータを、説明変数に再設定し、目的変数をレスポンスインデックスRIに再設定した線形回帰分析を、S521で生成した標本データ群に基づき実行し、回帰式、及び、説明変数毎(換言すれば回帰係数毎)のt値及びp値を再度算出する。
【0154】
その後、CPU11は、この線形回帰分析で得られた説明変数毎のt値及びp値を指標に、予め定められた第二の基準を用いて、説明変数に設定されているパラメータの内、説明変数として適当でない可能性が高いパラメータを、評価式の導出の際に実行する回帰分析で用いる説明変数から排除する対象に決定する(S527)。
【0155】
具体的に、S527では、S524と同一の有意水準αと、標本データの数及び説明変数の数から定まる自由度と、に基づき、この有意水準α及び自由度での両側検定に対応するt境界値を、周知の関数を利用して算出し、S526で算出された説明変数毎のt値及びp値を指標に、t値の絶対値がt境界値未満である説明変数に対応するパラメータを排除対象に決定すると共に、p値が上記予め定められた有意水準αを超える説明変数に対応するパラメータを、排除対象に決定する。但し、S527の処理では、排除対象に決定されるパラメータがない場合も起こり得る。
【0156】
また、S527での処理を終えると、CPU11は、S528に移行し、直前のS527の処理で、排除対象に決定されたパラメータが存在するか否かを判断し、排除対象に決定されたパラメータが存在すると判断すると(S528でYes)、S526に戻って、上述した処理を再度実行する。即ち、直前の回帰分析(即ち、前回のS526で実行した回帰分析)で説明変数に設定したパラメータの内、当該回帰分析から得られたt値及びp値に基づいて排除対象に決定されたパラメータ以外のパラメータを、説明変数に再設定し、目的変数をレスポンスインデックスRIに再設定した線形回帰分析を実行する。そして、この線形回帰分析により得られたt値及びp値に基づき、上述した手法で、説明変数に設定されているパラメータの内、説明変数として適当でない可能性が高いパラメータを、評価式の導出の際に実行する回帰分析で用いる説明変数から排除する対象に決定する(S527)。また、この処理を終えると、CPU11は、S528に移行して、直前のS527の処理で、排除対象に決定されたパラメータが存在するか否かを判断する。
【0157】
そして、直前のS527の処理で、排除対象に決定されたパラメータが存在しないと判断すると(S528でNo)、CPU11は、S529に移行し、直前の回帰分析で説明変数に設定されたパラメータ群(以下、「パラメータ群{Z*}」と表現する。)を、S510で取得した系統識別コードに対応する系統についての上記評価式(当該系統のトランザクション処理におけるレスポンスインデックスRIの予測値を算出するための評価式)の導出に用いる説明変数に決定して、当該パラメータ選択処理を終了する。尚、S529では、記憶部20に、上記系統識別コードと関連付けて、評価式の導出に際して説明変数として用いるべきパラメータの情報を、評価式情報として記憶する。
【0158】
ここで、パラメータ選択処理の内容を、図11を用いて具体例を挙げて説明する。例えば、パラメータ選択処理における初回の回帰分析(即ち、S523での処理)によって、図11上段に示すような説明変数(Z1〜Z5)毎のt値及びp値が得られたとする。このケースにおいて、t値が2未満である(又はp値が0.05を超える)説明変数に対応するパラメータを排除対象に仮決定する場合には、パラメータZ2,Z3,Z4が排除対象に仮決定される。そして、パラメータZ2,Z3,Z4のうち、t値の絶対値が最も大きいパラメータZ4が排除対象から除外されて、パラメータZ2,Z3が排除対象に本決定される(S524)。
【0159】
そして、パラメータ選択処理における二回目の回帰分析(即ち、初回のS526の処理)では、パラメータZ1,Z4,Z5が説明変数として用いられて回帰分析が行われる。そして、この回帰分析によって、図11中段に示すような説明変数(Z1,Z4,Z5)毎のt値及びp値が得られた場合には、S527の処理によって、今回の回帰分析で説明変数に設定されたパラメータZ1,Z4,Z5のうち、t値が2未満である(又はp値が0.05を超える)説明変数に対応するパラメータZ4が排除対象に決定される。
【0160】
そして、パラメータ選択処理における3回目の回帰分析(即ち、二回目のS526の処理)では、パラメータZ1,Z5が説明変数として用いられて回帰分析が行われる。そして、この回帰分析によって、図11下段に示すような説明変数(Z1,Z5)毎のt値及びp値が得られた場合には、S527の処理によって、排除対象に決定されるパラメータが存在しないことになり、結果として、パラメータ群{Z*}={Z1,Z5}が、評価式の導出に際して説明変数として用いるべきパラメータに決定される(S529)。
【0161】
続いて、S520でのパラメータ選択処理が完了するか、S515で否定判断した後に、CPU11が実行するS530以降の処理について説明する。S530に移行すると、CPU11は、記憶部20に記憶された上記評価式情報であって、S510で取得した系統識別コードに関連付けられた評価式情報を参照し、この系統識別コードに対応する系統の上記評価式の導出に際して説明変数として用いるべきパラメータ群{Z*}を特定する。そして、応答性能を予測する対象の上記新規種類のトランザクション処理を情報処理システム100に導入した場合に予想されるパラメータZ1〜Z5の各値の内、上記特定したパラメータ群{Z*}の各値の情報を取得する。
【0162】
その後、CPU11は、S510で取得された系統識別コードに基づき、応答性能を予測する対象である新規種類のトランザクション処理と同一系統の各種類のトランザクション処理についてのパラメータZ1〜Z5の各実績値、及び、レスポンスインデックスRIを記憶部20から抽出し、この抽出データを用いて、トランザクション処理の種類毎の標本データを生成する(S540)。標本データは、対応する種類のトランザクション処理についてのパラメータZ1〜Z5の各実績値、及び、レスポンスインデックスRIの組からなるデータである。但し、S540では、上記新規種類のトランザクション処理と同一系統の全種類のトランザクション処理について、種類毎の上記標本データを生成する動作に代えて、次の動作を実行してもよい。即ち、第二実施例におけるS430,S440の処理と同様に、上記新規種類のトランザクション処理と同一系統の種類のトランザクション処理群の内、レスポンスインデックスRIが最下位から第N位までの合計N個の種類のトランザクション処理についての上記標本データを選択的に生成してもよい。
【0163】
S540での処理を終えると、CPU11は、S550に移行し、説明変数を上記パラメータ群{Z*}に設定し、目的変数をレスポンスインデックスRIに設定した線形回帰分析を、S540で生成した標本データ群に基づき実行することにより、上記パラメータ群{Z*}を入力変数とし、レスポンスインデックスRIを出力変数とする評価式f({Z*})、換言すれば、パラメータ群{Z*}から新規種類のトランザクション処理の応答性能に関する評価値として、レスポンスインデックスRIの予測値を算出可能な評価式f({Z*})を導出する。尚、標本データには、説明変数に採用されないパラメータの実績値が含まれるが、これについては実質的に使用されずに上記回帰分析が行われることになる。
【0164】
S550の処理を終えると、CPU11は、上記導出した評価式f({Z*})に、S530で取得した新規種類のトランザクション処理で想定されるパラメータ群{Z*}の各値を代入して、新規種類のトランザクション処理についてのレスポンスインデックスRIの予測値を算出する(S560)。
【0165】
S560の処理を終えると、CPU11は、第二実施例におけるS470〜S500と同様の処理を、S570〜S600において実行する。即ち、S540で生成された標本データ群が示す最下位のレスポンスインデックスRIの値を基準に、上記算出した予測値の良否を判定し(S570〜S590)、レスポンスインデックスRIの予測値と共に、良否の判定結果を、表示部40を通じて表示する(S600)。その後、当該予測処理を終了する。
【0166】
ところで、S521,S540における標本データの生成については、新規種類のトランザクション処理と同一系統の全種類のトランザクション処理について、種類毎の上記標本データを生成する手法、及び、新規種類のトランザクション処理と同一系統の種類のトランザクション処理群の内、レスポンスインデックスRIが最下位から第N位までの合計N個の種類のトランザクション処理についての上記標本データを選択的に生成する手法が考えられることを上述したが、S521,S540に対して同一の手法を採用することで、S521,S540において同一の標本データを生成する場合には、パラメータ選択処理において最後に実行したS526での回帰分析によって得られる回帰式が、S550での回帰分析によって得られる評価式と一致する結果となる。従って、この場合には、S520においてパラメータ選択処理を実行した後、S540〜S550の処理を実行することなく、上記回帰式を、そのまま評価式として用いてS560以降の処理を実行してもよい。
【0167】
以上、第三実施例の予測装置1について説明したが、第三実施例によれば、上記パラメータ選択処理において、パラメータZ1〜Z5を説明変数とすることについての適否を判断し、この判断結果に従って、評価式の導出に用いる説明変数を、パラメータZ1〜Z5の一部に限定するので、より適切な評価式を導出することができ、結果として、より適切に、新規種類のトランザクション処理についてのレスポンスインデックスRIの予測値を算出することができる。
【0168】
尚、第三実施例の予測装置1に関する変形例としては、S524で用いる有意水準αを、S527で用いる有意水準αよりも大きい値に設定する例が考えられる。また、このように有意水準αとして異なる値を用いる場合には、S524における仮決定の動作を止めてもよい。即ち、S524においては仮決定した排除対象の全てを、排除対象に本決定してもよい。この他、上記実施例では、系統毎にパラメータ選択処理を実行するようにしたが、全系統共通のパラメータ選択処理を実行してもよい。即ち、S521では、系統に依らず各種類のトランザクション処理についての標本データを生成するようにしてもよい。そして、系統毎に、評価式の導出に際して説明変数に用いるパラメータを設定するのではなく、当該説明変数に用いるパラメータとして全系統に共通するパラメータを設定してもよい。また、上記実施例では、t値及びp値の両者に基づき、説明変数に採用するパラメータを選択するようにしたが、t値及びp値の一方のみに基づき、説明変数に採用するパラメータを選択するようにしてもよい。
<対応関係>
最後に、上記実施例と本発明との対応関係について説明する。予測装置1のCPU11が実行するS130又はS310の処理は、本発明の履歴取得手段の一例に対応し、CPU11が実行するS140〜S160の処理ループ又はS360,S370の処理は、第一導出手段の一例に対応し、CPU11が実行するS170〜S210の処理ループ又はS360,S380の処理は、第二導出手段の一例に対応する。また、CPU11が実行するS220又はS450又はS550の処理は、評価式導出手段の一例に対応し、CPU11が実行するS110,S120又はS410,S420又はS510,530の処理は、新規プログラム情報取得手段の一例に対応し、CPU11が実行するS230又はS460又はS560の処理は、予測手段に対応し、CPU11が実行するS240〜S270又はS470〜S500又はS570〜S600の処理は、本発明の判定出力手段の一例に対応する。
【符号の説明】
【0169】
1…予測装置、10…演算部、11…CPU、13…RAM、20…記憶部、30…操作部、40…表示部、50…データ入出力部、100…情報処理システム、110…演算部、111…CPU、113…RAM、120…データベース管理システム、130…記憶部、131…データベース、140…通信部、150…データ入出力部、DS…データベースシステム、NT…ネットワーク、TM…端末装置

【特許請求の範囲】
【請求項1】
外部からの処理要求に応じてデータベースシステムへのアクセスを伴うトランザクション処理を実行する情報処理システムに対して導入された既存プログラムによるトランザクション処理の実行履歴を取得する履歴取得手段と、
前記履歴取得手段によって取得された前記実行履歴に基づき、前記既存プログラムによって実行された複数の前記トランザクション処理に関して、前記トランザクション処理毎に、当該トランザクション処理の応答性能に関する実績値を導出する第一導出手段と、
前記履歴取得手段によって取得された前記実行履歴に基づき、前記既存プログラムによって実行された前記複数のトランザクション処理に関して、前記トランザクション処理毎に、当該トランザクション処理での前記データベースシステムの応答速度に影響を与える動作に関する複数パラメータの各実績値を導出する第二導出手段と、
前記第一導出手段によって導出された前記トランザクション処理毎の前記応答性能に関する実績値及び前記第二導出手段によって導出された前記トランザクション処理毎の前記複数パラメータの各実績値に基づき、前記情報処理システムで実行されるトランザクション処理の応答性能に関する評価値を算出可能な評価式であって、前記複数パラメータの少なくとも一部を入力変数とし前記トランザクション処理の応答性能に関する評価値を出力変数とする評価式を導出する評価式導出手段と、
前記評価式の入力変数に該当する前記パラメータ夫々の値であって、前記情報処理システムに導入予定の新規プログラム(前記情報処理システムに既に導入されたプログラムの修正プログラムを含む。)に関して、当該プログラムに基づく新規種類のトランザクション処理を前記情報処理システムのコンピュータに実行させた場合に当該新規種類のトランザクション処理で想定される前記パラメータ夫々の値を取得する新規プログラム情報取得手段と、
前記評価式導出手段によって導出された評価式に、前記新規プログラム情報取得手段によって取得された前記新規種類のトランザクション処理に対応する前記パラメータ夫々の値を入力し、前記新規種類のトランザクション処理の応答性能に関する評価値を算出することで、前記新規種類のトランザクション処理の応答性能を事前予測する予測手段と、
を備えることを特徴とする予測装置。
【請求項2】
外部からの処理要求に応じてデータベースシステムへのアクセスを伴うトランザクション処理を実行する情報処理システムに対して導入された既存プログラムによる複数種類のトランザクション処理の実行履歴を取得する履歴取得手段と、
前記履歴取得手段によって取得された前記実行履歴に基づき、前記既存プログラムによって実行される前記トランザクション処理の種類毎に、当該種類の前記トランザクション処理の応答性能に関する実績値を導出する第一導出手段と、
前記履歴取得手段によって取得された前記実行履歴に基づき、前記既存プログラムによって実行される前記トランザクション処理の種類毎に、当該種類の前記トランザクション処理での前記データベースシステムの応答速度に影響を与える動作に関する複数パラメータの各実績値を導出する第二導出手段と、
前記第一導出手段によって導出された前記トランザクション処理の種類毎の前記応答性能に関する実績値及び前記第二導出手段によって導出された前記トランザクション処理の種類毎の前記複数パラメータの各実績値に基づき、前記情報処理システムで実行されるトランザクション処理の応答性能に関する評価値を算出可能な評価式であって、前記複数パラメータの少なくとも一部を入力変数とし前記トランザクション処理の応答性能に関する評価値を出力変数とする評価式を導出する評価式導出手段と、
前記評価式の入力変数に該当する前記パラメータ夫々の値であって、前記情報処理システムに導入予定の新規プログラム(前記情報処理システムに既に導入されたプログラムの修正プログラムを含む。)に関して、当該プログラムに基づく新規種類のトランザクション処理を前記情報処理システムのコンピュータに実行させた場合に当該新規種類のトランザクション処理で想定される前記パラメータ夫々の値を取得する新規プログラム情報取得手段と、
前記評価式導出手段によって導出された評価式に、前記新規プログラム情報取得手段によって取得された前記新規種類のトランザクション処理に対応する前記パラメータ夫々の値を入力し、前記新規種類のトランザクション処理の応答性能に関する評価値を算出することで、前記新規種類のトランザクション処理の応答性能を事前予測する予測手段と、
を備えることを特徴とする予測装置。
【請求項3】
前記評価式導出手段は、前記第一導出手段によって導出された前記トランザクション処理の種類毎の前記応答性能に関する実績値及び前記第二導出手段によって導出された前記トランザクション処理の種類毎の前記複数パラメータの各実績値を標本として用いて、回帰分析を行うことにより、前記評価式を導出すること
を特徴とする請求項2記載の予測装置。
【請求項4】
前記評価式導出手段は、前記回帰分析として、前記複数パラメータを説明変数とし前記トランザクジョン処理の応答性能に関する評価値を目的変数とした回帰分析を行うことで、前記評価式として、前記複数パラメータを入力変数とし前記トランザクション処理の応答性能に関する評価値を出力変数とする評価式を導出すること
を特徴とする請求項3記載の予測装置。
【請求項5】
前記評価式導出手段は、
前記評価式を導出する際に実行する前記回帰分析で説明変数に採用するパラメータを、前記複数パラメータの一部に限定する手段であって、前記標本を用いて、前記複数パラメータを説明変数に採用し、前記トランザクジョン処理の応答性能に関する評価値を目的変数とした回帰分析を実行し、この回帰分析により得られた前記説明変数の夫々のt値及びp値の少なくとも一方を指標に、前記評価式を導出する際に実行する前記回帰分析で前記説明変数に採用するパラメータを、前記複数パラメータの一部に限定する限定手段
を備え、
前記評価式導出手段は、前記限定手段により限定された前記複数パラメータの一部を前記説明変数とし前記トランザクジョン処理の応答性能に関する評価値を目的変数とした回帰分析を行うことで、前記評価式として、前記複数パラメータの一部を入力変数とし、前記トランザクション処理の応答性能に関する評価値を出力変数とする評価式を導出すること
を特徴とする請求項3記載の予測装置。
【請求項6】
前記限定手段は、前記回帰分析を複数回実行することによって、前記評価式を導出する際に実行する前記回帰分析で説明変数に採用するパラメータを、前記複数パラメータの一部に段階的に限定する構成にされ、前記複数回の内、初回の前記回帰分析では、前記複数パラメータを前記説明変数に採用して前記回帰分析を実行し、この回帰分析により得られた前記説明変数の夫々のt値及びp値の少なくとも一方を指標に、前記評価式を導出する際に実行する前記回帰分析で説明変数に採用するパラメータを、前記複数パラメータの一部に限定し、初回以外の前記回帰分析では、前回の前記回帰分析により限定された前記複数パラメータの一部を前記説明変数に採用して前記回帰分析を実行し、この回帰分析により得られた前記説明変数の夫々のt値及びp値の少なくとも一方を指標に、前記評価式を導出する際に実行する前記回帰分析で説明変数に採用するパラメータを、更に前記複数パラメータの一部に限定すること
を特徴とする請求項5記載の予測装置。
【請求項7】
前記第一導出手段は、前記トランザクション処理の種類毎に、前記応答性能に関する実績値として、当該種類の前記トランザクション処理の平均応答時間を導出し、
前記予測手段は、前記評価式に基づき、前記新規種類のトランザクション処理の応答性能に関する評価値として、当該トランザクション処理の平均応答時間の予測値を算出すること
を特徴とする請求項2〜請求項6のいずれか一項記載の予測装置。
【請求項8】
前記第一導出手段は、前記トランザクション処理の種類毎に、前記応答性能に関する実績値として、当該種類の前記トランザクション処理の所定期間における応答時間の合計を導出し、
前記予測手段は、前記評価式に基づき、前記新規種類のトランザクション処理の応答性能に関する評価値として、当該トランザクション処理の前記所定期間における応答時間の合計の予測値を算出すること
を特徴とする請求項2〜請求項6のいずれか一項記載の予測装置。
【請求項9】
前記評価式導出手段は、前記第一導出手段により導出された前記応答性能に関する実績値が最下位から所定順位までの前記トランザクション処理の種類毎の前記応答性能に関する実績値及び前記複数パラメータの各実績値を選択的に用いて、前記評価式を導出すること
を特徴とする請求項2〜請求項8のいずれか一項記載の予測装置。
【請求項10】
前記予測手段によって算出された前記新規種類のトランザクション処理の応答性能に関する評価値を、所定の基準値と比較して、前記新規プログラムの前記情報処理システムへの導入の良否を判定し、この判定結果をユーザに向けて出力する判定出力手段
を備えることを特徴とする請求項2〜請求項9のいずれか一項記載の予測装置。
【請求項11】
前記判定出力手段は、前記予測手段によって算出された前記新規種類のトランザクション処理の応答性能に関する評価値を、前記基準値としての前記第一導出手段により導出された前記応答性能に関する実績値が最下位の種類の前記トランザクション処理の当該応答性能に関する実績値と比較して、前記新規プログラムの前記情報処理システムへの導入の良否を判定し、この判定結果をユーザに向けて出力すること
を特徴とする請求項10記載の予測装置。
【請求項12】
前記評価式導出手段は、前記既存プログラムによって実行される複数種類の前記トランザクション処理が系統別に分類されてなる各系統のトランザクション処理群毎に、前記第一導出手段によって導出された当該系統に属する前記トランザクション処理の種類毎の前記応答性能に関する実績値、及び、前記第二導出手段によって導出された当該系統に属する前記トランザクションの種類毎の前記複数パラメータの各実績値を選択的に用いて、前記評価式を導出することで、前記系統毎に前記評価式を導出し、
前記新規プログラム情報取得手段は、前記新規種類のトランザクション処理に対応する前記パラメータ夫々の値に加えて、前記新規種類のトランザクション処理の系統を表す情報を取得し、
前記予測手段は、前記評価式導出手段によって導出された前記評価式であって、前記新規プログラム情報取得手段によって取得された情報が示す前記新規種類のトランザクション処理の系統と同一系統の前記評価式に、前記新規種類のトランザクション処理に対応する前記パラメータ夫々の値を入力して、前記新規種類のトランザクション処理の応答性能に関する評価値を算出すること
を特徴とする請求項2〜請求項8のいずれか一項記載の予測装置。
【請求項13】
前記評価式導出手段は、前記系統毎に、当該系統に属するトランザクション処理群の内、前記応答性能に関する実績値が最下位から所定順位までの前記トランザクション処理の種類毎の前記応答性能に関する実績値及び前記複数パラメータの各実績値を選択的に用いて、当該系統に対応する前記評価式を導出すること
を特徴とする請求項12記載の予測装置。
【請求項14】
前記予測手段によって算出された前記新規種類のトランザクション処理の応答性能に関する評価値を、前記新規種類のトランザクション処理の系統と同一系統に属するトランザクション処理群の内、前記応答性能に関する実績値が最下位の種類の前記トランザクション処理の当該応答性能に関する実績値と比較して、前記新規プログラムの前記情報処理システムへの導入の良否を判定し、この判定結果をユーザに向けて出力する判定出力手段
を備えることを特徴とする請求項12又は請求項13記載の予測装置。
【請求項15】
前記第一及び第二導出手段は、前記実行履歴の内、正常終了した前記トランザクション処理の実行履歴を選択的に用いて、前記実績値を導出する構成にされていること
を特徴とする請求項1〜請求項14のいずれか一項に記載の予測装置。
【請求項16】
前記第二導出手段は、前記実行履歴に記述された前記データベースシステムに対する命令文と前記テータベースシステムが有するテーブルの名称一覧との突き合わせにより、前記命令文におけるテーブル名の記述箇所を検出し、この検出結果に基づき、前記複数パラメータの少なくとも一つに関する前記実績値として、前記テータベースシステムが有するテーブルへのアクセスを伴う動作に関する実績値を導出する構成にされていること
を特徴とする請求項1〜請求項15のいずれか一項に記載の予測装置。
【請求項17】
前記第二導出手段は、前記テータベースシステムが有するテーブルへのアクセスを伴う動作に関する実績値として、前記トランザクション処理による内部結合テーブル数又は外部結合テーブル数に関する統計量を導出する構成にされ、前記実行履歴に記述された前記データベースシステムに対する命令文と前記テータベースシステムが有するテーブルの名称一覧との突き合わせにより、前記命令文におけるテーブル名の記述箇所を検出し、前記検出した記述箇所周囲の文構造から前記記述箇所に対応するテーブルへの処理内容を特定して、前記内部結合テーブル数又は外部結合テーブル数をカウントすること
を特徴とする請求項16記載の予測装置。
【請求項18】
外部からの処理要求に応じてデータベースシステムへのアクセスを伴うトランザクション処理を実行する情報処理システムに、新規プログラム(前記情報処理システムに既に導入されたプログラムの修正プログラムを含む。)を導入して、当該新規プログラムに基づく新規種類のトランザクション処理を前記情報処理システムのコンピュータに実行させた場合の前記新規種類のトランザクション処理の応答性能を事前予測する予測装置であって、
前記新規プログラムに基づく前記新規種類のトランザクション処理を前記情報処理システムのコンピュータに実行させた場合に当該新規種類のトランザクション処理で想定される前記データベースシステムの応答速度に影響を与える動作に関する複数パラメータの各値を取得する新規プログラム情報取得手段と、
予め定められた評価式に、前記新規プログラム情報取得手段によって取得された前記新規種類のトランザクション処理に対応する前記複数パラメータの各値を入力して、前記新規種類のトランザクション処理の応答性能に関する評価値を算出することで、前記新規種類のトランザクション処理の応答性能を事前予測する予測手段と、
を備えることを特徴とする予測装置。
【請求項19】
前記複数パラメータは、少なくとも二つのパラメータであり、
前記二つのパラメータの一つは、トランザクション処理実行1回当りの前記データベースシステムに対する命令の発行数であり、
前記二つのパラメータのもう一つは、トランザクション処理の実行回数であること
を特徴とする請求項18記載の予測装置。
【請求項20】
請求項1〜請求項19のいずれか一項に記載の予測装置が備える前記各手段としての機能を、コンピュータに実現させるためのプログラム。
【請求項21】
外部からの処理要求に応じてデータベースシステムへのアクセスを伴うトランザクション処理を実行する情報処理システムに対して導入された既存プログラムによるトランザクション処理の実行履歴を取得する履歴取得手順と、
前記履歴取得手順によって取得された前記実行履歴に基づき、前記既存プログラムによって実行された複数の前記トランザクション処理に関して、前記トランザクション処理毎に、当該トランザクション処理の応答性能に関する実績値を導出する第一導出手順と、
前記履歴取得手順によって取得された前記実行履歴に基づき、前記既存プログラムによって実行された前記複数のトランザクション処理に関して、前記トランザクション処理毎に、当該トランザクション処理での前記データベースシステムの応答速度に影響を与える動作に関する複数パラメータの各実績値を導出する第二導出手順と、
前記第一導出手順によって導出された前記トランザクション処理毎の前記応答性能に関する実績値及び前記第二導出手順によって導出された前記トランザクション処理毎の前記複数パラメータの各実績値に基づき、前記情報処理システムで実行されるトランザクション処理の応答性能に関する評価値を算出可能な評価式であって、前記複数パラメータの少なくとも一部を入力変数とし前記トランザクション処理の応答性能に関する評価値を出力変数とする評価式を導出する評価式導出手順と、
前記評価式の入力変数に該当する前記パラメータ夫々の値であって、前記情報処理システムに導入予定の新規プログラム(前記情報処理システムに既に導入されたプログラムの修正プログラムを含む。)に関して、当該プログラムに基づく新規種類のトランザクション処理を前記情報処理システムのコンピュータに実行させた場合に当該新規種類のトランザクション処理で想定される前記パラメータ夫々の値を取得する新規プログラム情報取得手順と、
前記評価式導出手順によって導出された評価式に、前記新規プログラム情報取得手順によって取得された前記新規種類のトランザクション処理に対応する前記パラメータ夫々の値を入力し、前記新規種類のトランザクション処理の応答性能に関する評価値を算出することで、前記新規種類のトランザクション処理の応答性能を事前予測する予測手順と、
を含み、これらの手順によって、前記新規プログラムを前記情報処理システムに導入した場合における前記新規種類のトランザクション処理の応答性能を事前予測することを特徴とする予測方法。
【請求項22】
外部からの処理要求に応じてデータベースシステムへのアクセスを伴うトランザクション処理を実行する情報処理システムに対して導入された既存プログラムによる複数種類のトランザクション処理の実行履歴を取得する履歴取得手順と、
前記履歴取得手順によって取得された前記実行履歴に基づき、前記既存プログラムによって実行される前記トランザクション処理の種類毎に、当該種類の前記トランザクション処理の応答性能に関する実績値を導出する第一導出手順と、
前記履歴取得手順によって取得された前記実行履歴に基づき、前記既存プログラムによって実行される前記トランザクション処理の種類毎に、当該種類の前記トランザクション処理での前記データベースシステムの応答速度に影響を与える動作に関する複数パラメータの各実績値を導出する第二導出手順と、
前記第一導出手順によって導出された前記トランザクション処理の種類毎の前記応答性能に関する実績値及び前記第二導出手順によって導出された前記トランザクション処理の種類毎の前記複数パラメータの各実績値に基づき、前記情報処理システムで実行されるトランザクション処理の応答性能に関する評価値を算出可能な評価式であって、前記複数パラメータの少なくとも一部を入力変数とし前記トランザクション処理の応答性能に関する評価値を出力変数とする評価式を導出する評価式導出手順と、
前記評価式の入力変数に該当する前記パラメータ夫々の値であって、前記情報処理システムに導入予定の新規プログラム(前記情報処理システムに既に導入されたプログラムの修正プログラムを含む。)に関して、当該プログラムに基づく新規種類のトランザクション処理を前記情報処理システムのコンピュータに実行させた場合に当該新規種類のトランザクション処理で想定される前記パラメータ夫々の値を取得する新規プログラム情報取得手順と、
前記評価式導出手順によって導出された評価式に、前記新規プログラム情報取得手順によって取得された前記新規種類のトランザクション処理に対応する前記パラメータ夫々の値を入力し、前記新規種類のトランザクション処理の応答性能に関する評価値を算出することで、前記新規種類のトランザクション処理の応答性能を事前予測する予測手順と、
を含み、これらの手順によって、前記新規プログラムを前記情報処理システムに導入した場合における前記新規種類のトランザクション処理の応答性能を事前予測することを特徴とする予測方法。
【請求項23】
外部からの処理要求に応じてデータベースシステムへのアクセスを伴うトランザクション処理を実行する情報処理システムに、新規プログラム(前記情報処理システムに既に導入されたプログラムの修正プログラムを含む。)を導入して、当該新規プログラムに基づく新規種類のトランザクション処理を前記情報処理システムのコンピュータに実行させた場合の前記新規種類のトランザクション処理の応答性能を事前予測する方法であって、
前記新規プログラムに基づく前記新規種類のトランザクション処理を前記情報処理システムのコンピュータに実行させた場合に当該新規種類のトランザクション処理で想定される前記データベースシステムの応答速度に影響を与える動作に関する複数パラメータの各値を取得する新規プログラム情報取得手順と、
予め定められた評価式に、前記新規プログラム情報取得手順によって取得された前記新規種類のトランザクション処理に対応する前記複数パラメータの各値を入力して、前記新規種類のトランザクション処理の応答性能に関する評価値を算出することで、前記新規種類のトランザクション処理の応答性能を事前予測する予測手順と、
を含むことを特徴とする予測方法。
【請求項24】
前記複数パラメータは、少なくとも二つのパラメータであり、
前記二つのパラメータの一つは、トランザクション処理実行1回当りの前記データベースシステムに対する命令の発行数であり、
前記二つのパラメータのもう一つは、トランザクション処理の実行回数であること
を特徴とする請求項23記載の予測方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate