(57)【要約】【課題】トランザクション処理の起点となるプロセスを指定するだけで、トランザクション処理に関わったプロセスを処理グループに分類し各処理グループについてプロファイルを計算することができる、計算機システム性能測定分析システムにおけるトランザクションプロファイルの生成システム、トランザクションプロファイル生成方法及びそのプログラムを提供する。【解決手段】トランザクションプロファイルの生成システム１００は、通信状況分析部１０３と、リソース消費量分析部１０４と、処理グループとプロセスの対応分析部１０５と、処理グループ毎のリソース消費量通信量分析部１０７と、トランザクションプロファイル生成部１０７と、トランザクションプロファイル１０８とから構成されている。【選択図】図１
2005216078.tif 000002
【特許請求の範囲】
【請求項１】
一意な識別子である第１のIndex値と、計測対象の計算機がそのプロセスの通信に使用したポート番号と、トランザクション処理に関わったプロセスを分類する処理グループ名とから構成されるポート番号表を用いて、前記計算機に組み込まれた計測用プローブで採取された通信イベントトレースデータからトランザクションプロファイルを生成する、計算機システム性能測定分析システムにおけるトランザクションプロファイル生成システムであって、
前記通信イベントトレースデータから、一意な識別子である第２のIndex値と、前記計算機が通信を行ったプロセスを識別するプロセスIDと、該プロセスの送信に使用したポート番号である自ポート番号と、該プロセスが通信した相手先のプロセスが走行中の計算機のアドレス番号である相手アドレスと、相手先のプロセスが受信に使用したポート番号である相手ポート番号とから構成される通信イベント抽出結果表を生成する手段を有する通信状況分析部と、
前記プロセス毎にresumeイベントの発生から直後のsaveイベントが発生するまでの時刻をCPU消費量として算出し保持する手段を有するリソース消費量分析部と、
前記通信イベント抽出結果表を処理して、一意な識別子である第３のIndex値と、送信を行った前記プロセスを示す第１のプロセスIDと、該第１のプロセスが送信に使用した自ポート番号と、送信の相手先の受信プロセスを示す第２のプロセスIDと、該第２のプロセスが受信に使用した相手ポート番号とから構成される通信関係の分析結果である通信関係表を生成する手段を有する処理グループとプロセスの対応分析部と、
前記リソース消費量分析部が保持しているプロセス毎のCPU消費量と、プロセス毎にresumeイベントの発生から直後のsaveイベントまでの間に行われた通信の送信データサイズと受信データサイズとを算出し、該送信データサイズと受信データサイズの組をプロセス毎に前記自ポート番号および前記相手ポート番号を識別子とするデータとをプロセス毎のリソース消費量通信量として保持する手段と、
前記通信関係表の自ポート番号および相手ポート番号と前記ポート番号表のポート番号とを比較して前記自ポート番号または前記相手ポート番号のいずれかが前記ポート番号表のポート番号と一致した場合に、前記通信関係表の自ポート番号または相手ポート番号の第３のIndex値によって参照されるプロセスの前記リソース消費量通信量を、前記ポート番号表の第１のIndex値によって参照される処理グループの前記リソース消費量通信量として、その値を保持し、前記処理グループと前記プロセスの対応関係を処理グループとプロセスの対応分析結果表に記録する手段とを有する処理グループ毎のリソース消費量通信量分析部と、
プロセス毎に集計されている前記CPU消費量と前記送信データサイズと前記受信データサイズとのプロファイルを、処理グループ毎に集計されたトランザクション・プロファイルとして出力する手段を有するトランザクションプロファイル生成部とから構成される、計算機システム性能測定分析システムにおけるトランザクションプロファイルの生成システム。
【請求項２】
コンピュータ又はマイクロプロセッサを請求項１に記載のトランザクションプロファイルの生成システムとして機能させるためのプログラム。
【請求項３】
一意な識別子である第１のIndex値と、計測対象の計算機がそのプロセスの通信に使用したポート番号と、トランザクション処理に関わったプロセスを分類する処理グループ名とから構成されるポート番号表を用いて、前記計算機に組み込まれた計測用プローブで採取された通信イベントトレースデータからトランザクションプロファイルを生成する、計算機システム性能測定分析システムにおけるトランザクションプロファイル生成システムを使用するトランザクションプロファイル生成方法であって、
前記トランザクションプロファイル生成システムは、通信状況分析部と、リソース消費量分析部と、処理グループとプロセスの対応分析部と、処理グループ毎のリソース消費量通信量分析部と、トランザクションプロファイル生成部とから構成され、
前記通信状況分析部により、前記通信イベントトレースデータから、一意な識別子である第２のIndex値と、前記計算機が通信を行ったプロセスを識別するプロセスIDと、該プロセスの送信に使用したポート番号である自ポート番号と、該プロセスが通信した相手先のプロセスが走行中の計算機のアドレス番号である相手アドレスと、相手先のプロセスが受信に使用したポート番号である相手ポート番号とから構成される通信イベント抽出結果表を生成するステップと、
前記リソース消費量分析部により、前記プロセス毎にresumeイベントの発生から直後のsaveイベントが発生するまでの時刻をCPU消費量として算出し保持するステップと、
前記処理グループとプロセスの対応分析部により、前記通信イベント抽出結果表を処理して、一意な識別子である第３のIndex値と、送信を行った前記プロセスを示す第１のプロセスIDと、該第１のプロセスが送信に使用した自ポート番号と、送信の相手先の受信プロセスを示す第２のプロセスIDと、該第２のプロセスが受信に使用した相手ポート番号とから構成される通信関係の分析結果である通信関係表を生成するステップとを有し、
前記処理グループ毎のリソース消費量通信量分析部により、
前記リソース消費量分析部が保持しているプロセス毎のCPU消費量と、プロセス毎にresumeイベントの発生から直後のsaveイベントまでの間に行われた通信の送信データサイズと受信データサイズとを算出し、該送信データサイズと受信データサイズの組をプロセス毎に前記自ポート番号および前記相手ポート番号を識別子とするデータとをプロセス毎のリソース消費量通信量として保持するステップと、
前記通信関係表の自ポート番号および相手ポート番号と前記ポート番号表のポート番号とを比較して前記自ポート番号または前記相手ポート番号のいずれかが前記ポート番号表のポート番号と一致した場合に、前記通信関係表の自ポート番号または相手ポート番号の第３のIndex値によって参照されるプロセスの前記リソース消費量通信量を、前記ポート番号表の第１のIndex値によって参照される処理グループの前記リソース消費量通信量として、その値を保持し、前記処理グループと前記プロセスの対応関係を処理グループとプロセスの対応分析結果表に記録するステップとを有し、
前記トランザクションプロファイル生成部により、プロセス毎に集計されている前記CPU消費量と前記送信データサイズと前記受信データサイズとのプロファイルを、処理グループ毎に集計されたトランザクション・プロファイルとして出力するステップを有する、計算機システム性能測定分析システムにおけるトランザクションプロファイルの生成システムを使用するトランザクションプロファイル生成方法。
【請求項４】
前記通信関係表を生成するステップは、
前記通信イベント抽出結果表の行の一意な識別子である第２のIndex値を参照し該第２のIndex値をiとして先頭行のiの値を１とする第１のステップと、
前記第２のIndex値のうち最大値をNとして、第２のIndex値iと第２のIndex値Nを比較し、第２のIndex値iが第２のIndex値Nよりも小さいまたは等しい場合は第３のステップへ進み、第２のIndex値iが第２のIndex値Nよりも大きい場合は終了する、第２のステップと、
前記通信イベント抽出結果表の第２のIndex値を参照し該第２のIndex値をｊとして先頭行のjの値を１とする第３のステップと、
前記第２のIndex値のうち最大値をNとして、第２のIndex値jと第２のIndex値Nを比較し、第２のIndex値jが第２のIndex値Nよりも小さいまたは等しい場合は第７のステップへ進み、第２のIndex値jが第２のIndex値Nよりも大きい場合は第５のステップへ進む、第４のステップと、
第２のIndex値iに該当する行iは外部との通信として通信関係表に記録して第６のステップへ進む、第５のステップと、
第２のIndex値iの値を１つ増やして第２のステップへ戻る、第６のステップと、
行iの前記自ポート番号と第２のIndex値ｊに該当する行ｊの前記相手ポート番号とを比較し、等しい場合は第９のステップへ進み、等しくない場合は第８のステップへ進む、第７のステップと、
第２のIndex値ｊの値を１つ増やして第４のステップへ戻る、第８のステップと、
行iと行jの対応を通信関係表に記録して第６のステップへ進む、第９のステップとを有する、請求項３に記載の計算機システム性能測定分析システムにおけるトランザクションプロファイルの生成システムを使用するトランザクションプロファイルの生成方法。
【請求項５】
前記処理グループとプロセスの対応分析結果表に記録するステップは、
前記通信関係表の行の一意な識別子である第３のIndex値を参照し該第３のIndex値をiとして先頭行のiの値を１とする第１のステップと、
前記第３のIndex値のうち最大値をNとして、第３のIndex値iと第３のIndex値Nを比較し、第３のIndex値iが第３のIndex値Nよりも小さいまたは等しい場合は第３のステップへ進み、第３のIndex値iが第３のIndex値Nよりも大きい場合は終了する第２のステップと、
前記通信関係表の第３のIndex値iに該当する行iの前記自ポート番号と前記ポート番号表の行の一意な識別子である第１のIndex値ｊに該当する行ｊのポート番号が一致するか否か、ｊの値でループさせて検索し、一致する場合は第４のステップへ進み、一致しない場合は第２のステップへ戻る、第３のステップと、
前記通信関係表の行iの前記自ポート番号を送信に使用した第１のプロセスを前記ポート番号表の行ｊの前記処理グループに分類して一意な処理グループ名を付与する第４のステップと、
前記通信関係表の行iの前記相手ポート番号と前記ポート番号表の行ｊのポート番号が一致するか否か、ｊの値でループさせて検索し、一致する場合は第６のステップへ進み、一致しない場合は第２のステップへ戻る、第５のステップと、
前記通信関係表の行iの前記相手ポート番号を受信に使用した第２のプロセスを前記ポート番号表の行ｊの前記処理グループに分類して一意な処理グループ名を付与して第２のステップへ戻る、第６のステップとを有する、請求項３に記載の計算機システム性能測定分析システムにおけるトランザクションプロファイルの生成システムを使用するトランザクションプロファイルの生成方法。
【請求項６】
コンピュータ又はマイクロプロセッサに請求項３から請求項５のいずれか１項に記載のトランザクションプロファイルの生成方法を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、計算機システム性能測定分析システムにおけるトランザクションプロファイルの生成システム、トランザクションプロファイルの生成システムを使用するトランザクションプロファイル生成方法及びそのプログラムに関する。
【背景技術】
【０００２】
従来のシステム性能測定分析システムによる性能分析は下記の手順で実施される（特許文献１及び非特許文献１参照。）。１）測定対象計算機のソフトウエア内に計測用プローブを埋め込む、２）その上で計測対象プログラムを実行させる、３）プロファイル生成部が、手順の結果として生成されるイベントトレースデータを入力データとして性能分析を行なう。イベントトレースデータの構成を図９に示す。
【０００３】
このプロファイル生成部では、プロセス切り換えイベント（図９におけるresume, saveイベント）を用い、次の２種類の集計操作を行なう。１）saveイベントの発生時刻（例えば図９のt4）と対応するresumeイベントの発生時刻（例えば図９のt1）の差分を求めることで、この時間帯に走行していたプロセス（図９のt1〜t4の例ではwebプロセス）のCPU消費時間を計算し、それを集計する、2)saveイベント（例えば図９のt4）と対応するresumeイベント（例えば図９のt1）の間に発生した通信イベント（図９のt1〜t4の例ではｔ２に発生したrecieveイベントおよびt3で発生したsendイベント）は、この時間帯に走行していたプロセス（図９のt1〜t4の例ではwebプロセス）が行なった通信であることが分かるので、そのプロセスの行なった通信操作として通信路（自ポート番号、相手アドレス、相手ポート番号の組で一意に定まる）毎にデータサイズを集計する。この集計操作により、プロセス毎にリソース消費量（この例ではCPU消費時間）と通信操作の統計（この例では、通信路毎の送信データサイズと受信データサイズ）を得ることができる。
【特許文献１】特開２００３−１５７１８５号公報
【非特許文献１】「ハイブリッドモニタ手法を用いたシステム動作の測定解析」、情報処理学会研究報告、平成３年３月１６日、Vol.９１、No.２８(OS-５０)、ｐ．８１−８７
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来技術によるイベント・トレースの分析では、プロセス毎に集計された統計では、性能シミュレーションを行なうために必要となるトランザクション処理についてのプロファイル情報（リソース消費量と通信操作の統計）を得るためには、１）トランザクション処理に関わるプロセスを特定した上で、２）トランザクション処理に関わるプロセスについてのプロファイルを調べて集計する必要があった。
【０００５】
さらにトランザクションが複数のプログラム部品であるソフトウエア・コンポーネントで処理される場合、ソフトウエア・コンポーネントを異なるサーバに配置することを想定したシミュレーションを行うためには、各ソフトウエア・コンポーネントの処理に関わるプロセスの集合（処理グループ）毎にプロファイルを集計する必要がある。このためには、１）処理に関わるプロセスを特定（名前もしくはプロセス番号の指定が必要）し、２）それらのプロセスと処理グループの対応を規定する必要があった。
【０００６】
このような条件は、システムに使用されているコンピュータプログラムが全て自製で、ソフトウェアの構成要素や実行状況が把握されている場合には可能であったが、昨今のように一般に市販されているパッケージソフトウェアと自製ソフトウェアを組合せてシステムを構成するような状況ではパッケージソフトウェアの構成要素や実行状況に関する詳細な情報を得ることは難しく現実的とは言えない。従って、従来技術では負荷の発生個所をコンポーネント単位で詳細に分析することが困難であり、システム性能の最適化を行うには不十分な情報しか得られないという課題があった。
【０００７】
本発明の目的は、トランザクション処理の起点となるプロセスを指定するだけで、トランザクション処理に関わったプロセスを処理グループに分類し各処理グループについてプロファイルを計算することができる計算機システム性能測定分析システムにおけるトランザクションプロファイルの生成システム、トランザクションプロファイルの生成システムを使用するトランザクションプロファイル生成方法及びそのプログラムを提供することにある。
【課題を解決するための手段】
【０００８】
本発明の計算機システム性能測定分析システムにおけるトランザクションプロファイル生成システムは、
一意な識別子である第１のIndex値と、計測対象の計算機がそのプロセスの通信に使用したポート番号と、トランザクション処理に関わったプロセスを分類する処理グループ名とから構成されるポート番号表を用いて、計算機に組み込まれた計測用プローブで採取された通信イベントトレースデータからトランザクションプロファイルを生成する、計算機システム性能測定分析システムにおけるトランザクションプロファイル生成システムであって、通信イベントトレースデータから、一意な識別子である第２のIndex値と、計算機が通信を行ったプロセスを識別するプロセスIDと、プロセスの送信に使用したポート番号である自ポート番号と、プロセスが通信した相手先のプロセスが走行中の計算機のアドレス番号である相手アドレスと、相手先のプロセスが受信に使用したポート番号である相手ポート番号とから構成される通信イベント抽出結果表を生成する手段を有する通信状況分析部と、プロセス毎にresumeイベントの発生から直後のsaveイベントが発生するまでの時刻をCPU消費量として算出し保持する手段を有し、処理グループとプロセスの対応分析部は、通信イベント抽出結果表を処理して、一意な識別子である第３のIndex値と、送信を行ったプロセスを示す第１のプロセスIDと、第１のプロセスが送信に使用した自ポート番号と、送信の相手先の受信プロセスを示す第２のプロセスIDと、第２のプロセスが受信に使用した相手ポート番号とから構成される通信関係の分析結果である通信関係表を生成する手段を有するリソース消費量分析部と、リソース消費量分析部が保持しているプロセス毎のCPU消費量と、プロセス毎にresumeイベントの発生から直後のsaveイベントまでの間に行われた通信の送信データサイズと受信データサイズとを算出し、送信データサイズと受信データサイズの組をプロセス毎に自ポート番号および相手ポート番号を識別子とするデータとをプロセス毎のリソース消費量通信量として保持する手段と、通信関係表の自ポート番号および相手ポート番号とポート番号表のポート番号とを比較して自ポート番号または相手ポート番号のいずれかがポート番号表のポート番号と一致した場合に、通信関係表の自ポート番号または相手ポート番号の第３のIndex値によって参照されるプロセスのリソース消費量通信量を、ポート番号表の第１のIndex値によって参照される処理グループのリソース消費量通信量として、その値を保持し、処理グループとプロセスの対応関係を処理グループとプロセスの対応分析結果表に記録する手段とを有する処理グループ毎のリソース消費量通信量分析部と、プロセス毎に集計されているCPU消費量と送信データサイズと受信データサイズとのプロファイルを、処理グループ毎に集計されたトランザクション・プロファイルとして出力する手段を有するトランザクションプロファイル生成部とから構成される。
【０００９】
本発明のプログラムは、
コンピュータ又はマイクロプロセッサを上述のトランザクションプロファイルの生成システムとして機能させる。
【００１０】
本発明の計算機システム性能測定分析システムにおけるトランザクションプロファイル生成システムを使用するトランザクションプロファイル生成方法は、
一意な識別子である第１のIndex値と、計測対象の計算機がそのプロセスの通信に使用したポート番号と、トランザクション処理に関わったプロセスを分類する処理グループ名とから構成されるポート番号表を用いて、計算機に組み込まれた計測用プローブで採取された通信イベントトレースデータからトランザクションプロファイルを生成する、計算機システム性能測定分析システムにおけるトランザクションプロファイル生成システムを使用するトランザクションプロファイル生成方法であって、トランザクションプロファイル生成システムは、通信状況分析部と、リソース消費量分析部と、処理グループとプロセスの対応分析部と、処理グループ毎のリソース消費量通信量分析部と、トランザクションプロファイル生成部とから構成され、通信状況分析部により、通信イベントトレースデータから、一意な識別子である第２のIndex値と、計算機が通信を行ったプロセスを識別するプロセスIDと、プロセスの送信に使用したポート番号である自ポート番号と、プロセスが通信した相手先のプロセスが走行中の計算機のアドレス番号である相手アドレスと、相手先のプロセスが受信に使用したポート番号である相手ポート番号とから構成される通信イベント抽出結果表を生成するステップと、リソース消費量分析部により、プロセス毎にresumeイベントの発生から直後のsaveイベントが発生するまでの時刻をCPU消費量として算出し保持するステップと、処理グループとプロセスの対応分析部により、通信イベント抽出結果表を処理して、一意な識別子である第３のIndex値と、送信を行ったプロセスを示す第１のプロセスIDと、第１のプロセスが送信に使用した自ポート番号と、送信の相手先の受信プロセスを示す第２のプロセスIDと、第２のプロセスが受信に使用した相手ポート番号とから構成される通信関係の分析結果である通信関係表を生成するステップとを有し、処理グループ毎のリソース消費量通信量分析部により、リソース消費量分析部が保持しているプロセス毎のCPU消費量と、プロセス毎にresumeイベントの発生から直後のsaveイベントまでの間に行われた通信の送信データサイズと受信データサイズとを算出し、送信データサイズと受信データサイズの組をプロセス毎に自ポート番号および相手ポート番号を識別子とするデータとをプロセス毎のリソース消費量通信量として保持するステップと、通信関係表の自ポート番号および相手ポート番号とポート番号表のポート番号とを比較して自ポート番号または相手ポート番号のいずれかがポート番号表のポート番号と一致した場合に、通信関係表の自ポート番号または相手ポート番号の第３のIndex値によって参照されるプロセスのリソース消費量通信量を、ポート番号表の第１のIndex値によって参照される処理グループのリソース消費量通信量として、その値を保持し、処理グループとプロセスの対応関係を処理グループとプロセスの対応分析結果表に記録するステップとを有し、トランザクションプロファイル生成部により、プロセス毎に集計されているCPU消費量と送信データサイズと受信データサイズとのプロファイルを、処理グループ毎に集計されたトランザクション・プロファイルとして出力するステップを有する。
【００１１】
また、通信関係表を生成するステップは、通信イベント抽出結果表の行の一意な識別子である第２のIndex値を参照し第２のIndex値をiとして先頭行のiの値を１とする第１のステップと、第２のIndex値のうち最大値をNとして、第２のIndex値iと第２のIndex値Nを比較し、第２のIndex値iが第２のIndex値Nよりも小さいまたは等しい場合は第３のステップへ進み、第２のIndex値iが第２のIndex値Nよりも大きい場合は終了する、第２のステップと、通信イベント抽出結果表の第２のIndex値を参照し第２のIndex値をｊとして先頭行のjの値を１とする第３のステップと、第２のIndex値のうち最大値をNとして、第２のIndex値jと第２のIndex値Nを比較し、第２のIndex値jが第２のIndex値Nよりも小さいまたは等しい場合は第７のステップへ進み、第２のIndex値jが第２のIndex値Nよりも大きい場合は第５のステップへ進む、第４のステップと、第２のIndex値iに該当する行iは外部との通信として通信関係表に記録して第６のステップへ進む、第５のステップと、第２のIndex値iの値を１つ増やして第２のステップへ戻る、第６のステップと、行iの自ポート番号と第２のIndex値ｊに該当する行ｊの相手ポート番号とを比較し、等しい場合は第９のステップへ進み、等しくない場合は第８のステップへ進む、第７のステップと、第２のIndex値ｊの値を１つ増やして第４のステップへ戻る、第８のステップと、行iと行jの対応を通信関係表に記録して第６のステップへ進む、第９のステップとを有してもよい。
【００１２】
また、処理グループとプロセスの対応分析結果表に記録するステップは、通信関係表の行の一意な識別子である第３のIndex値を参照し第３のIndex値をiとして先頭行のiの値を１とする第１のステップと、第３のIndex値のうち最大値をNとして、第３のIndex値iと第３のIndex値Nを比較し、第３のIndex値iが第３のIndex値Nよりも小さいまたは等しい場合は第３のステップへ進み、第３のIndex値iが第３のIndex値Nよりも大きい場合は終了する第２のステップと、通信関係表の第３のIndex値iに該当する行iの自ポート番号とポート番号表の行の一意な識別子である第１のIndex値ｊに該当する行ｊのポート番号が一致するか否か、ｊの値でループさせて検索し、一致する場合は第４のステップへ進み、一致しない場合は第２のステップへ戻る、第３のステップと、通信関係表の行iの自ポート番号を送信に使用した第１のプロセスをポート番号表の行ｊの処理グループに分類して一意な処理グループ名を付与する第４のステップと、通信関係表の行iの相手ポート番号とポート番号表の行ｊのポート番号が一致するか否か、ｊの値でループさせて検索し、一致する場合は第６のステップへ進み、一致しない場合は第２のステップへ戻る、第５のステップと、通信関係表の行iの相手ポート番号を受信に使用した第２のプロセスをポート番号表の行ｊの処理グループに分類して一意な処理グループ名を付与して第２のステップへ戻る、第６のステップとを有してもよい。
【００１３】
本発明のプログラムは、コンピュータ又はマイクロプロセッサに上述のトランザクションプロファイルの生成方法を実行させる。
【発明の効果】
【００１４】
本発明には、以下の効果がある。
【００１５】
本発明は上記のように構成された通信状況分析部、リソース消費量分析部、処理グループとプロセスの対応分析部、処理グループ毎のリソース消費量通信量分析部、トランザクションプロファイル生成部を備えることにより、トランザクション処理の起点となるプロセスを指定するだけで、トランザクション処理に関わったプロセスを処理グループに分類し各処理グループについてプロファイルを計算することができるという効果がある。この理由は以下による。
【００１６】
一般に他のコンポーネントとTCPによる通信を必要とするようなソフトウェアについてはその通信に使用するTCPのポート番号を公開する場合が大部分であり、コンポーネント間通信に使用されるTCPポート番号を知ることは容易である。また、通信を正常に行うためにはひとつの計算機上ではひとつのポート番号はひとつのコンポーネントによって排他的に使用される必要がある。本発明によると、ひとつのトランザクションを構成する一連のコンポーネントをその通信を接合点としTCPポート番号を識別子として分類できるので、トランザクション処理の起点となるプロセスを指定するだけで、トランザクション処理に関わったプロセスを処理グループに分類し、各処理グループについてプロファイルを計算することができる。
【００１７】
即ち、複数のプログラム部品であるソフトウエア・コンポーネントにより構成されるトランザクション処理を測定し、それらのコンポーネント間の通信に使用されているTCPのポート番号（Well known port番号）への通信イベントを利用して、トランザクション処理を構成するソフトウエア・コンポーネント毎の負荷を切り分けて集計することでトランザクションのプロファイルを生成することができる。
【発明を実施するための最良の形態】
【００１８】
次に、本発明の実施の形態の構成について図面を参照して詳細に説明する。
【００１９】
図１を参照すると、本発明の実施の形態は、計測対象の計算機に組み込まれた計測用プローブ１０１で採取された通信イベントトレースデータ１０９からポート番号表１０２を用いてトランザクションプロファイル１０８を生成する、計算機システム性能測定分析システムにおけるトランザクションプロファイルの生成システム１００である。トランザクションプロファイルの生成システム１００は、通信状況分析部１０３と、リソース消費量分析部１０４と、処理グループとプロセスの対応分析部１０５と、処理グループ毎のリソース消費量通信量分析部１０６と、トランザクションプロファイル生成部１０７とから構成されている。
【００２０】
計測用プローブ１０１は計算機のオペレーティングシステム(OS)の特定部位にイベントを採取するためのコードとそれを記録する機能を具備する手段であり、本手段は当業者にとっては公知の技術および特許文献１による方式のような先行技術によって実現することが可能である。
【００２１】
イベントトレースデータ１０９は計測用プローブ１０１が採取する情報で図９に示すように、イベントが発生した時系列を保持するために記録されるIndex値２０１と、実際に発生した時刻２０２と、イベントの種類２０３と、イベントを発生させたプロセスID２０４と計測対象の計算機がそのプロセスの通信(送信)に使用したポート番号(自ポート番号)２０５と、そのプロセスが通信した相手先のプロセスが走行中の計算機のアドレス番号(相手アドレス)２０６と、相手先のプロセスが通信(受信)に使用したポート番号(相手ポート番号)２０７と実際に通信したデータサイズ２０８とから構成される。自ポート番号２０５と相手ポート番号２０７は計算機上で走行しているプロセスを特定することが可能な識別子であれば何でも良く、TCP以外の通信プロトコルによるものでもよい。また、相手アドレス２０６は通信の相手となるプロセスが走行している計算機を一意に特定できる識別子なら何でもよく、IPアドレスに限らないし、また、送信側と同一のアドレスでもよい。
【００２２】
ポート番号表１０２は図２に示すように、一意な識別子であるIndex値６０１と、ポート番号６０２と、処理グループ６０３から構成される。
【００２３】
通信状況分析部１０３はイベントトレースデータ１０９から図３に示す通信イベント抽出結果表を生成する。通信イベント抽出結果表は、一意な識別子であるIndex値３０１と、通信を行ったプロセスを識別するプロセスID３０２と、自ポート番号３０３と、相手アドレス３０４と、相手ポート番号３０５から構成される。プロセスID３０２、自ポート番号３０３、相手アドレス３０４、相手ポート番号３０５は図９から抽出されるだけであるので、その意味、データの属性については全て図９に示すデータと同一である。
【００２４】
リソース消費量分析部１０４は図９のプロセスID２０４毎にイベントの種類
２０３のresumeイベントの発生から直後のsaveイベントが発生するまでの時刻をCPU消費時間として算出する手段と、その値を保持する機能を具備する。図９の例ではIndex=1に示されるresumeイベントからIndex=4で示されるsaveイベントまでの時間、すなわちt4-t1をプロセスID=webのある時間におけるCPU消費量として算出しこの値を保持する。
【００２５】
処理グループとプロセスの対応分析部１０５は、図３に示す通信イベント抽出結果表に対して、図４で示す手順を実行することで、図５に示す通信関係の分析
結果である通信関係表を生成する機能を具備する。図５に示す通信関係表は、一意な識別子であるIndex値５０１と、通信(送信)を行ったプロセスを示すプロセスID１  ５０２と、プロセスが通信(送信)に使用したポート番号(自ポート番号)１  ５０３と、相手先のプロセスが通信(受信)に使用したポート番号(相手ポート番号)２  ５０４と、そのプロセスを示すプロセスID２  ５０５から構成される。
【００２６】
処理グループ毎のリソース消費量通信量分析部１０６は、リソース消費量分析部１０４が保持しているプロセス毎のCPU消費量と、図９のプロセス単位でCPU消費量と同様にresumeイベントの発生から直後のsaveイベントまでの間に行われた通信について送信データサイズ、受信データサイズのおのおのを算出し、二つのデータの組をプロセス毎に通信関係表の自ポート番号および相手ポート番号を識別子とするデータとを、プロセス毎のリソース消費量通信量として保持する手段を具備する。この自ポート番号および相手ポート番号と図２に示すポート番号表に記述されているポート番号とを比較して自ポート番号または相手ポート番号のいずれかがポート番号表のポート番号と一致した場合に、通信関係表の自ポート番号または相手ポート番号のIndex値によって参照されるプロセスのリソース消費量通信量を、そのIndex値によって参照される処理グループのリソース消費量通信量として、その値を保持する機能を具備する。さらに、自ポート番号１  ５０３とポート番号６０２が一致した場合は、その時のIndex値５０１で参照されるプロセスID１  ５０２を、その時のIndex値６０１で参照される処理グループ名６０３としてその対応関係を図６に示す処理グループとプロセスの対応分析結果表に記録する。同様に相手ポート番号２  ５０４とポート番号６０２が一致した場合はその時のIndex値５０１で参照されるプロセスID２  ５０５とIndex値６０１で参照される処理グループ名６０３の組を図６に分析結果として記録する機能を具備する。
【００２７】
トランザクションプロファイル生成部１０７は、図７に示すように、プロセス毎に集計されているCPU消費量９０３と送信データサイズ９０５、９０６と受信データサイズ９０４、９０７とのプロファイルを、処理グループ毎に集計されたトランザクション・プロファイルをそのデータ構造によって特定の書式の元、結果を出力する手段を具備する。
【００２８】
次に、図３及び図４のフローチャートを参照して本発明の実施の形態の動作のうち、通信関係の分析結果を出力する処理について詳細に説明する。
【００２９】
まず、図３に示す通信イベント抽出結果表の行の一意な識別子であるIndex値３０１を参照し同Index値をiとして先頭行のiの値を１とする（図４のステップ４０１）。次に、図３のIndex値３０１のうち最大値をNとして、Index値iとIndex値Nを比較する。この時、Index値iがIndex値Nよりも小さいまたは等しい場合はステップ４０３へ進み、Index値iがIndex値Nよりも大きい場合は本処理動作を終了する（ステップ４０２）。次に、図３に示す通信イベント抽出結果表のIndex値３０１を参照し同Index値をｊとして先頭行のjの値を１とする（ステップ４０３）。次に、図３のIndex値のうち最大値をNとして、Index値jとIndex値Nを比較する。この時、Index値jがIndex値Nよりも小さいまたは等しい場合はステップ４０７へ進み、Index値jがIndex値Nよりも大きい場合はステップ４０５へ進む（ステップ４０４）。次に、Index値iに該当する行iは外部との通信として図５に示す通信関係表に記録してステップ４０６へ（ステップ４０５）。次に、iの値を１つ増やしてステップ４０２へ戻る（ステップ４０６）。次に、行iの自ポート番号３０３とIndex値ｊに該当する行ｊの相手ポート番号３０５を比較し、等しい場合はステップ４０９へ進み、等しくない場合はステップ４０８へ進む。なお行iの相手ポート番号３０５と行ｊの自ポート番号３０３の比較も同等である（ステップ４０７）。次に、ｊの値を１つ増やしてステップ４０４へ戻る（ステップ４０８）。次に、行iと行jの対応を図５に示す通信関係表に記録してステップ４０６へ進む（ステップ４０９）。
【００３０】
次に、図２、図５及び図８のフローチャートを参照して本発明の実施の形態の動作のうち、処理グループとプロセスの対応関係の分析処理について詳細に説明する。
【００３１】
まず、図５に示す通信関係表の行の一意な識別子であるIndex値５０１を参照し同Index値をiとして先頭行のiの値を１とする（図８のステップ７０１）。次に、図５のIndex値のうち最大値をNとして、Index値iとIndex値Nを比較する。この時、Index値iがIndex値Nよりも小さいまたは等しい場合はステップ７０３へ進み、Index値iがIndex値Nよりも大きい場合は本処理動作を終了する（ステップ７０２）。次に、図５の通信関係表のIndex値Iに該当する行iの自ポート番号１  ５０３と図２のポート番号表の行の一意な識別子であるIndex値ｊに該当する行ｊのポート番号６０２が一致するか否か、ｊの値でループさせて検索する。一致する場合はステップ７０４へ進み、一致しない場合はステップ７０２へ戻る（ステップ７０３）。次に、図５の通信関係表の行iのプロセス１  ５０２を図６のポート番号表の行ｊの処理グループ６０３に分類して一意な処理グループ名を付与する（ステップ７０４）。さらに、図５の通信関係表の行iの相手ポート番号２  ５０４と図２のポート番号表の行ｊのポート番号６０２が一致するか否か、ｊの値でループさせて検索する。一致する場合はステップ７０６へ進み、一致しない場合はステップ７０２へ戻る（ステップ７０５）。そして、図５の通信関係表の行iのプロセス２  ５０５を図２のポート番号表の行ｊの処理グループ６０３に分類して一意な処理グループ名を付与してステップ７０２へ戻る（ステップ７０６）。
【００３２】
上記に示した操作により、図６の例では、処理グループCwebに属するのはプロセスID=webのプロセス、以下同様に、CapはプロセスID=apのプロセス、CdbはプロセスID=dbのプロセスと分類される。トランザクションプロファイル生成部１０７は、プロセス毎に集計されているプロファイルを、この分類結果に従って合計することで、図７に示す、処理グループ毎に集計されたプロファイルを出力する。すなわち、本実施の形態で示した手順の特徴は、イベント・トレースに記録された通信イベントの情報を利用して分類を行うことにより、プロセスidと処理グループの対応関係を明示的に外部から与えることなく、処理グループ毎のプロファイルを導出できる点である。
【００３３】
また、上述の本発明の実施の形態についてのトランザクションプロファイル生成方法のプログラムにより、コンピュータ又はマイクロプロセッサにそのトランザクションプロファイル生成方法を実行させることができる。
【００３４】
また、上述の本発明の実施の形態についてのトランザクションプロファイル生成システムのプログラムにより、コンピュータ又はマイクロプロセッサをトランザクションプロファイル生成システムとして機能させることができる。
【図面の簡単な説明】
【００３５】
【図１】本発明の実施の形態の計算機システム性能測定分析システムにおけるトランザクションプロファイルの生成システムの構成を示す図である。
【図２】ポート番号表の構成を示す図である。
【図３】通信イベント抽出結果表の構成を示す図である。
【図４】通信イベント抽出結果表から通信関係表を生成する手順を示すフローチャートである。
【図５】通信関係表の構成を示す図である。
【図６】処理グループとプロセスの対応分析結果表の構成を示す図である。
【図７】処理グループ毎に集計されたトランザクション・プロファイルの構成を示す図である。
【図８】処理グループとプロセスの対応関係の分析処理の手順を示すフローチャートである。
【図９】イベントトレースデータの構成を示す図である。
【符号の説明】
【００３６】
１００    トランザクションプロファイルの生成システム
１０１    計測用プローブ
１０２    ポート番号表
１０３    通信状況分析部
１０４    リソース消費量分析部
１０５    処理グループとプロセスの対応分析部
１０６    処理グループ毎のリソース消費量通信量分析部
１０７    トランザクションプロファイル生成部
１０８    トランザクションプロファイル
１０９    イベントトレースデータ
２０１、３０１、５０１、６０１    Index値
２０２    実際に発生した時刻
２０３    イベントの種類
２０４、３０２、８０２、９０２    プロセスID
２０５、３０３    自ポート番号
２０６、３０４    相手アドレス
２０７、３０５    相手ポート番号
２０８    データサイズ
５０２    プロセスID１
５０３    自ポート番号１
５０４    相手ポート番号２
５０５    プロセスID２
６０２    ポート番号
６０３、８０１、９０１    処理グループ名
９０３    CPU消費量
９０４    受信データサイズ１
９０５    送信データサイズ１
９０６    送信データサイズ２
９０７    受信データサイズ２
【図１】
2005216078.tif 000003
【図２】
2005216078.tif 000004
【図３】
2005216078.tif 000005
【図４】
2005216078.tif 000006
【図５】
2005216078.tif 000007
【図６】
2005216078.tif 000008
【図７】
2005216078.tif 000009
【図８】
2005216078.tif 000010
【図９】
2005216078.tif 000011