(57)【特許請求の範囲】
【請求項１】
複数のトランザクションを含むセッション毎に、システムにおける機能に関する性能解析を実行する情報処理装置であって、
データを格納するための記憶部と、
解析対象のシステムより機能ログを読み出し、該機能ログから、各トランザクションが果たしている機能および所属するセッションの各識別情報を取得して記憶部のデータベースに格納する処理と、
解析対象のシステムよりシステムログを読み出し、該システムログと前記データベースとの間で、トランザクションの識別情報が互いに一致するレコードをそれぞれ特定し、該特定したシステムログのレコードに、該特定した前記データベースのレコードが含む機能およびセッションの各識別情報を付加してファイルを生成し、記憶部に格納する処理と、
記憶部よりセッションおよび機能の識別情報が共通するファイルを複数読み出し、該ファイルらが含むシステムログのデータに基づいて該当機能の各セッションごとの性能解析を行う処理とを実行する演算部と、
を備えることを特徴とするシステム性能解析装置。
【請求項２】
前記演算部は、
前記性能解析の処理を行うにあたり、前記読み出した複数のファイルより、該ファイルらが含むシステムログにおけるメッセージＩＤを読み取り、少なくともセッションの開始および終端を示す各メッセージＩＤによって該当セッションにおける開始から終端に至る各トランザクションを特定することでトランザクションの遷移パターンを特定し、該特定したパターンごとに性能解析を実行するものである、
ことを特徴とする請求項１に記載のシステム性能解析装置。
【請求項３】
前記演算部は、
解析対象のシステムより機能ログを読み出し、該機能ログから、各トランザクションが果たしている機能、所属するセッション、および処理時に出力する画面の各識別情報を取得して記憶部のデータベースに格納し、
解析対象のシステムよりシステムログを読み出し、該システムログと前記データベースとの間で、トランザクションの識別情報が互いに一致するレコードをそれぞれ特定し、該特定したシステムログのレコードに、該特定した前記データベースのレコードが含む機能、セッション、および画面の各識別情報を付加してファイルを生成し、記憶部に格納し、
前記性能解析の処理を行うにあたり、前記読み出した複数のファイルより、該ファイルらが含むシステムログにおけるメッセージＩＤを読み取り、少なくともセッションの開始および終端を示す各メッセージＩＤによって該当セッションにおける開始から終端に至る各トランザクションを特定することでトランザクションの遷移パターンを特定し、該特定した遷移パターンを構成するトランザクションの画面毎に、該当ファイルの含むシステムログのデータからレスポンスタイムを特定し、このレスポンスタイムを該当遷移パターンで集計した総レスポンスタイムを算定し、前記レスポンスタイムないし総レスポンスタイムのデータを含む解析結果を該当遷移パターンに対応付けて記憶部に格納するものである、
ことを特徴とする請求項１または２に記載のシステム性能解析装置。
【請求項４】
前記演算部は、
前記特定したトランザクションの遷移パターンに関して、該遷移パターンを構成する各トランザクションの画面の識別情報らをつなげて文字列を生成し、該文字列を所定規則に沿って短縮化してキーを生成し記憶部に格納する処理を実行し、
前記性能解析の処理を行うにあたり、前記特定した遷移パターンに関して生成した前記キーを記憶部に照合し、該当キーと一致するキーが記憶部にて検索できた場合、該当キーに対応付けて、当該性能解析の処理により得られた今回の解析結果を記憶部に格納し、該当キーと一致するキーが記憶部にて検索できなかった場合、該当キーを記憶部に格納し、該当キーに対応付けて、当該性能解析の処理により得られた今回の解析結果を記憶部に格納するものである、
ことを特徴とする請求項３に記載のシステム性能解析装置。
【請求項５】
複数のトランザクションを含むセッション毎に、システムにおける機能に関する性能解析を実行する情報処理装置が、
解析対象のシステムより機能ログを読み出し、該機能ログから、各トランザクションが果たしている機能および所属するセッションの各識別情報を取得して記憶部のデータベースに格納する処理と、
解析対象のシステムよりシステムログを読み出し、該システムログと前記データベースとの間で、トランザクションの識別情報が互いに一致するレコードをそれぞれ特定し、該特定したシステムログのレコードに、該特定した前記データベースのレコードが含む機能およびセッションの各識別情報を付加してファイルを生成し、記憶部に格納する処理と、
記憶部よりセッションおよび機能の識別情報が共通するファイルを複数読み出し、該ファイルらが含むシステムログのデータに基づいて該当機能の各セッションごとの性能解析を行う処理と、
を実行することを特徴とするシステム性能解析方法。
【請求項６】
複数のトランザクションを含むセッション毎に、システムにおける機能に関する性能解析を実行する情報処理装置に、
解析対象のシステムより機能ログを読み出し、該機能ログから、各トランザクションが果たしている機能および所属するセッションの各識別情報を取得して記憶部のデータベースに格納する処理と、
解析対象のシステムよりシステムログを読み出し、該システムログと前記データベースとの間で、トランザクションの識別情報が互いに一致するレコードをそれぞれ特定し、該特定したシステムログのレコードに、該特定した前記データベースのレコードが含む機能およびセッションの各識別情報を付加してファイルを生成し、記憶部に格納する処理と、
記憶部よりセッションおよび機能の識別情報が共通するファイルを複数読み出し、該ファイルらが含むシステムログのデータに基づいて該当機能の各セッションごとの性能解析を行う処理と、
を実行させることを特徴とするシステム性能解析プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、システム性能解析装置、システム性能解析方法、およびシステム性能解析プログラムに関するものであり、具体的には、複数トランザクションを含むセッション毎の、システムにおける機能に関する効率的な性能解析を可能とする技術に関する。
【背景技術】
【０００２】
システムを構成するコンピュータ間で電文授受を伴って提供されるサービスに関し、そのサービス提供時におけるシステムの性能解析を実行し、所定の性能要件を満たしているか調査することが必ず行われる。こうした性能解析の従来技術としては、例えば、トランザクションモデルを事前に作成することなく、システム内のサーバの稼働状況を簡易的に分析することを目的とし、コンピュータ装置間（すなわちハードウェアのレイヤ）で受け渡しがあったメッセージデータ群を使用してシステム性能の分析を行うシステム分析プログラム（特許文献１参照）などが提案されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−４４７４２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上述の性能解析を行うにあたっては、システムから出力されるログ情報、すなわちシステムログを利用することになる。このシステムログからは、トランザクション（１画面遷移：以下トランザクション）単位でターンアラウンドタイム、トランザクションの内部保留時間の各値を得ることができる。一方、機能（例：所定の業務処理に対応したサービスを提供するもの）の観点で性能解析を行うためには、上述のシステムログのデータに加え、各業務処理の監視プログラム等が出力する機能ログのデータも合わせて解析する必要があるが、システムログと機能ログを互いに組み合わせて自動的に性能解析を行う技術は提案されていない。
【０００５】
また、同じ機能であってもセッション毎に画面遷移（複数のトランザクション）のパターンは複数存在するため、例えば各セッションでの画面遷移のパターンを特定し、パターン別に性能解析を行う必要がある。しかしながら、そうした画面遷移のパターンは多岐にわたるものであり、様々な機能に関して生じうる全てのパターンを事前に定義しておいて性能解析に備えることは現実的に難しく、性能解析の処理時間や手間を増大させる原因となっていた。
【０００６】
そこで本発明の目的は、複数トランザクションを含むセッション毎の、システムにおける機能に関する効率的な性能解析を可能とする技術を提供することにある。
【課題を解決するための手段】
【０００７】
上記課題を解決する本発明のシステム性能解析装置は、複数のトランザクションを含むセッション毎に、システムにおける機能に関する性能解析を実行する情報処理装置であって、データを格納するための記憶部と、解析対象のシステムより機能ログを読み出し、該機能ログから、各トランザクションが果たしている機能および所属するセッションの各識別情報を取得して記憶部のデータベースに格納する処理と、解析対象のシステムよりシステムログを読み出し、該システムログと前記データベースとの間で、トランザクションの識別情報が互いに一致するレコードをそれぞれ特定し、該特定したシステムログのレコードに、該特定した前記データベースのレコードが含む機能およびセッションの各識別情報を付加してファイルを生成し、記憶部に格納する処理と、記憶部よりセッションおよび機能の識別情報が共通するファイルを複数読み出し、該ファイルらが含むシステムログのデータに基づいて該当機能の各セッションごとの性能解析を行う処理とを実行する演算部と、を備えることを特徴とする。
【０００８】
また、本発明のシステム性能解析方法は、複数のトランザクションを含むセッション毎に、システムにおける機能に関する性能解析を実行する情報処理装置が、解析対象のシステムより機能ログを読み出し、該機能ログから、各トランザクションが果たしている機能および所属するセッションの各識別情報を取得して記憶部のデータベースに格納する処理と、解析対象のシステムよりシステムログを読み出し、該システムログと前記データベースとの間で、トランザクションの識別情報が互いに一致するレコードをそれぞれ特定し、該特定したシステムログのレコードに、該特定した前記データベースのレコードが含む機能およびセッションの各識別情報を付加してファイルを生成し、記憶部に格納する処理と、記憶部よりセッションおよび機能の識別情報が共通するファイルを複数読み出し、該ファイルらが含むシステムログのデータに基づいて該当機能の各セッションごとの性能解析を行う処理と、を実行することを特徴とする。
【０００９】
また、本発明のシステム性能解析プログラムは、複数のトランザクションを含むセッション毎に、システムにおける機能に関する性能解析を実行する情報処理装置に、解析対象のシステムより機能ログを読み出し、該機能ログから、各トランザクションが果たしている機能および所属するセッションの各識別情報を取得して記憶部のデータベースに格納する処理と、解析対象のシステムよりシステムログを読み出し、該システムログと前記データベースとの間で、トランザクションの識別情報が互いに一致するレコードをそれぞれ特定し、該特定したシステムログのレコードに、該特定した前記データベースのレコードが含む機能およびセッションの各識別情報を付加してファイルを生成し、記憶部に格納する処理と、記憶部よりセッションおよび機能の識別情報が共通するファイルを複数読み出し、該ファイルらが含むシステムログのデータに基づいて該当機能の各セッションごとの性能解析を行う処理と、を実行させることを特徴とする。
【発明の効果】
【００１０】
本発明によれば、複数トランザクションを含むセッション毎の、システムにおける機能に関する効率的な性能解析が可能となる。
【図面の簡単な説明】
【００１１】
【図１】本実施形態のシステム性能解析装置の構成図である。
【図２】本実施形態におけるシステム性能解析方法のメインフローを示す図である。
【図３】本実施形態におけるシステム性能解析方法の処理手順例１を示す図である。
【図４】本実施形態におけるシステム性能解析方法の処理手順例２を示す図である。
【図５】本実施形態におけるシステム性能解析方法の処理手順例３を示す図である。
【図６】本実施形態における機能ログの構成例を示す図である。
【図７】本実施形態におけるトランザクション管理ＤＢの構成例を示す図である。
【図８】本実施形態におけるシステムログの構成例を示す図である。
【図９】本実施形態におけるトランザクション分類ファイルの例を示す図である。
【図１０】本実施形態におけるトランザクション分類のイメージを示す図である。
【図１１】本実施形態におけるパターン管理ＤＢの構成例を示す図である。
【図１２】本実施形態における解析結果ファイルの出力例を示す図である。
【発明を実施するための形態】
【００１２】
−−−装置の構成例−−−
以下に本発明の実施形態について図面を用いて詳細に説明する。図１は、本実施形態のシステム性能解析装置１０の構成図である。図１に示すシステム性能解析装置１０（以下、装置１０）は、複数トランザクションを含むセッション毎の、システムにおける機能に関する効率的な性能解析を可能とするコンピュータシステムである。
【００１３】
本実施形態では、装置１０が性能解析の対象とするシステムは、装置１０自身が含まれるコンピュータシステムであるとして説明を行うが、勿論、ネットワークを介してデータ通信可能に接続される他のコンピュータシステムを性能解析の対象としてもよい。また、装置１０が解析対象システムの記憶部、すなわち装置１０の記憶部１１より読み出すシステムログ、機能ログは、それぞれのログを記録するため、所定のプログラムやハードウェアで生じるイベントを監視するログプログラムが発生イベントの情報をログとして記憶部１１に記録したものとなる。また、こうして記憶部１１に記録されるシステムログ、機能ログは、対応するトランザクションの識別情報をそれぞれ有している。
【００１４】
また、前記装置１０のハードウェア構成は以下の如くとなる。前記装置１０は、ハードディスクドライブなど適宜な不揮発性記憶装置で構成される記憶部１１、ＲＡＭなど揮発性記憶装置で構成されるメモリ１３、前記記憶部１１に保持されるプログラム１２をメモリ１３に読み出すなどして実行し装置自体の統括制御を行なうとともに各種判定、演算及び制御処理を行なうＣＰＵなどの演算部１４、ユーザからのキー入力や音声入力を受け付ける入力部１５、処理データの表示を行うディスプレイ等の出力部１６、ネットワークと接続し他装置（例：解析対象となる他のコンピュータシステム）との通信処理を担う通信部１７、を備える。
【００１５】
なお、記憶部１１には、プログラム１２の他、定義ファイル１（１０４）、機能ログ１０５、トランザクション管理データベース１０６、定義ファイル２（１０７）、システムログ１０８、トランザクション分類ファイル１０９、パターン管理データベース１１０、および解析結果ファイル１１１が格納されている。これらの詳細については後述する。
【００１６】
続いて、本実施形態のシステム性能解析装置１０が備える機能について説明する。上述したように、以下に説明する機能は、例えば装置１０が備えるプログラム１２を実行することで実装される機能と言える。なお、ここで示す「機能」は、解析対象のシステムにおけるトランザクションで実現される機能とは異なる。
【００１７】
この場合、装置１０は、解析対象のシステムより機能ログ１０５を読み出し、該機能ログ１０５から、各トランザクションが果たしている機能および所属するセッションの各識別情報を取得して記憶部１１のトランザクション管理データベース１０６に格納する機能を有している。
【００１８】
また、装置１０は、解析対象のシステムよりシステムログ１０８を読み出し、該システムログ１０８とトランザクション管理データベース１０６との間で、トランザクションの識別情報が互いに一致するレコードをそれぞれ特定し、該特定したシステムログ１０８のレコードに、該特定したトランザクション管理データベース１０６のレコードが含む機能およびセッションの各識別情報を付加してトランザクション分類ファイル１０９を生成し、記憶部１１に格納する機能を有している。
【００１９】
また、前記装置１０は、記憶部１１よりセッションおよび機能の識別情報が共通するトランザクション分類ファイル１０９を複数読み出し、該トランザクション分類ファイル１０９らが含むシステムログ１０８のデータに基づいて該当機能の各セッションごとの性能解析を行う機能を有している。
【００２０】
なお、装置１０は、性能解析の処理を行うにあたり、前記読み出した複数のトランザクション分類ファイル１０９より、該トランザクション分類ファイル１０９らが含むシステムログ１０８におけるメッセージＩＤを読み取り、少なくともセッションの開始および終端を示す各メッセージＩＤによって該当セッションにおける開始から終端に至る各トランザクションを特定することでトランザクションの遷移パターンを特定し、該特定したパターンごとに性能解析を実行するとすれば好適である。
【００２１】
なお、装置１０は、解析対象のシステムより機能ログ１０５を読み出し、該機能ログ１０５から、各トランザクションが果たしている機能、所属するセッション、および処理時に出力する画面の各識別情報を取得して記憶部１１のトランザクション管理データベース１０６に格納するとしてもよい。
【００２２】
この場合、装置１０は、解析対象のシステムよりシステムログ１０８を読み出し、該システムログ１０８とトランザクション管理データベース１０６との間で、トランザクションの識別情報が互いに一致するレコードをそれぞれ特定し、該特定したシステムログ１０８のレコードに、該特定したトランザクション管理データベース１０６のレコードが含む機能、セッション、および画面の各識別情報を付加してトランザクション分類ファイル１０９を生成し、記憶部１１に格納する。
【００２３】
また、装置１０は、性能解析の処理を行うにあたり、前記読み出した複数のトランザクション分類ファイル１０９より、該トランザクション分類ファイル１０９らが含むシステムログ１０８におけるメッセージＩＤを読み取り、少なくともセッションの開始および終端を示す各メッセージＩＤによって該当セッションにおける開始から終端に至る各トランザクションを特定することでトランザクションの遷移パターンを特定し、該特定した遷移パターンを構成するトランザクションの画面毎に、該当トランザクション分類ファイル１０９の含むシステムログ１０８のデータからレスポンスタイムを特定し、このレスポンスタイムを該当遷移パターンで集計した総レスポンスタイムを算定し、レスポンスタイムないし総レスポンスタイムのデータを含む解析結果を、解析結果ファイル１１１として該当遷移パターンに対応付けて記憶部１１に格納するものとする。
【００２４】
ここで、装置１０は、上記で特定したトランザクションの遷移パターンに関して、該遷移パターンを構成する各トランザクションの画面の識別情報らをつなげて文字列を生成し、該文字列をハッシュ関数に適用するなど所定規則に沿った短縮化を実行してキーを生成し、このキーを記憶部１１のパターン管理データベース１１０に格納する機能を有しているとすれば好適である。
【００２５】
この時、装置１０は、性能解析の処理を行うにあたり、前記特定した遷移パターンに関して生成した前記キーを記憶部１１のパターン管理データベース１１０に照合し、該当キーと一致するキーが記憶部１１のパターン管理データベース１１０にて検索できた場合、該当キーに対応付けて、当該性能解析の処理により得られた今回の解析結果（を含む解析結果ファイル１１１）を記憶部１１に格納し、該当キーと一致するキーが記憶部１１のパターン管理データベース１１０にて検索できなかった場合、該当キーを記憶部１１のパターン管理データベース１１０に格納し、該当キーに対応付けて、当該性能解析の処理により得られた今回の解析結果（を含む解析結果ファイル１１１）を記憶部１１に格納する、とすれば好適である。
【００２６】
−−−メインフロー−−−
以下、本実施形態におけるシステム性能解析方法の実際手順について図に基づき説明する。以下で説明するシステム性能解析方法に対応する各種動作は、前記装置１０がメモリ１３に読み出して実行するプログラム１２によって実現される。そして、このプログラム１２は、以下に説明される各種の動作を行うためのコードから構成されている。
【００２７】
図２は、本実施形態におけるシステム性能解析方法のメインフロー例を示す図である。ここではまず、システム性能解析方法の大きな流れについて概説しておく。この場合、装置１０は、記憶部１１の機能ログ１０５から、各トランザクションごとの機能名（あるいはＩＤ）、セッション名、そして画面名（あるいはＩＤ）を取得し、トランザクション管理データベース１０６に格納する（ステップ１０１）。
【００２８】
機能ログ１０５の形式は、定義ファイル１（１０４）で予め定めておいたものに沿ったものとなっており、装置１０は定義ファイル１（１０４）を参照すれば、機能ログ１０５より所望の項目、すなわち上記した機能名、セッション名、画面名に関するデータを特定して抽出することができる。形式別に定義ファイル１（１０４）を用意しておくか、形式を跨った共通の定義ファイル１（１０４）を用意しておけば、様々な形式の機能ログ１０５に対応して処理を実行可能となる。
【００２９】
続いて装置１０は、前記ステップ１０１で機能ログ１０５に由来するデータを格納したトランザクション管理データベース１０６と、記憶部１１のシステムログ１０８との間で、トランザクションの識別情報が互いに一致するレコードをそれぞれ特定し、該特定したシステムログ１０８のレコードに、該特定したトランザクション管理データベース１０６のレコードが含む機能、セッション、画面の各識別情報を含む機能情報（機能名、セッション名、そして画面名）を付加してトランザクション分類ファイル１０９を生成し、記憶部１１に格納する（ステップ１０２）。ここで、機能ログ１０５とシステムログ１０８の各レコードのうち同じトランザクションに関するものであれば、機能ログ１０５とシステムログ１０８の各レコード間で同一のトランザクションＩＤが付与されているものとする。
【００３０】
なお、定義ファイル１（１０４）と同様、システムログ１０８の形式は、定義ファイル２（１０７）で予め定めておいたものに沿ったものとなっており、装置１０は定義ファイル２（１０７）を参照すれば、システムログ１０８における所望の項目にデータを追加するなど各種処理を行うことができる。
【００３１】
次に装置１０は、記憶部１１よりセッションおよび機能の識別情報が共通するトランザクション分類ファイル１０９を複数読み出し、該トランザクション分類ファイル１０９らが含むシステムログ１０８のデータに基づいて該当機能の各セッションごとの性能解析を行う（ステップ１０３）。より具体的に、装置１０は、各セッションにおけるトランザクションの遷移パターンを特定し、この遷移パターンを構成するトランザクションの画面毎のレスポンスタイム、該当遷移パターンのレスポンスタイムを算定し、これらのデータを含む解析結果を解析結果ファイル１１１として該当遷移パターンに対応付けて記憶部１１に格納する。  
上述の各ステップ１０１〜１０３については以下でその詳細を説明する。
【００３２】
−−−処理手順例１−−−
次に、上述のステップ１０１の詳細について図に基づき説明する。図３は、本実施形態におけるシステム性能解析方法の処理手順例１を示すフロー図である。また、図６に機能ログ１０５のデータ構成例を、図７にトランザクション管理データベース１０６の構成例を示す。
【００３３】
この場合、装置１０は、まず機能ログ１０５のフォーマットが定義されている定義ファイル１（１０４）を記憶部１１から読み込み、機能ログ１０５において、「時間」、「トランザクションＩＤ」、「セッション名」、「画面名」などの情報が何カラム目に出力されているのか、どのような形式なのか、各カラム間の区切り子はなにか、などを把握する（ステップ２０１）。
【００３４】
装置１０は、このように特定された定義ファイル１（１０４）の内容に基づいて、記憶部１１から機能ログ１０５を一行読み込む（ステップ２０２）。ここで読み込んだ機能ログ１０５において「ＥＯＦ」の値を検出した場合（ステップ２０３：Ｙｅｓ）、機能ログ１０５の読み込みを中止して以降の処理を終了する。
【００３５】
他方、前記ステップ２０３において、「ＥＯＦ」の値が機能ログ１０５から検出されなかった場合（ステップ２０３：Ｎｏ）、該当機能ログ１０５に出力されている、時間５０１、トランザクションＩＤ５０２、機能名５０３、セッション名５０４、画面名５０５、その他５０６、の各値を読み取る（ステップ２０４）。
【００３６】
なお、上記値を読み取る過程で得たトランザクションＩＤが、図７に示すトランザクション管理データベース１０６に記録されていない未知のトランザクションＩＤ６０１の場合（ステップ２０５：Ｎｏ）、新規レコードとしてトランザクションＩＤ６０１、機能名６０２、セッション名６０３、画面名６０４の各値（前記ステップ２０４で読み取った値）を追加する（ステップ２０６）。こうして追加されるレコードは、各トランザクションＩＤが、どの機能、どのセッション、どの画面のものかを示すことになる。
【００３７】
他方、上記のステップ２０５において、上記値を読み取る過程で得たトランザクションＩＤが、トランザクション管理データベース１０６に記録されていた既知のトランザクションＩＤ６０１の場合（ステップ２０５：Ｙｅｓ）、ステップ２０２で読み込んだ機能ログ１０５の当該行を飛ばし、ステップ２０２を再実行し、記憶部１１より次行の機能ログ１０５を読み込んで、上記同様、ステップ２０３〜２０６の処理を機能ログ１０５にて「ＥＯＦ」の値を検出するまで行う（ステップ２０７：Ｙｅｓ→ステップ２０２）。こうして、トランザクション管理データベース１０６が生成されることとなる。
【００３８】
−−−処理手順例２−−−
次に、上述のステップ１０２の詳細について図に基づき説明する。図４は、本実施形態におけるシステム性能解析方法の処理手順例２を示すフロー図である。また、図８にシステムログ１０８の構成例を、図９にトランザクション分類ファイル１０９の例を、図１０にトランザクション分類のイメージ図を示す。
【００３９】
この場合、装置１０は、システムログ１０８を読み込むために、システムログ１０８のフォーマットが定義されている定義ファイル２（１０７）を記憶部１１から読み込み（ステップ３０１）、システムログ１０８中に出力されている「時間」、「トランザクションＩＤ」、「メッセージＩＤ」などの情報が何カラム目に出力されているのか、どのような形式なのか、各カラム間の区切り子はなにか、トランザクションの開始と終了を意味するメッセージＩＤは何か、などを把握する。
【００４０】
装置１０は、上述の定義ファイル２（１０７）の内容に基づいて、時間７０１、トランザクションＩＤ７０２、メッセージＩＤ７０３、その他７０４などの値を含むシステムログ１０８を記憶部１１より１行ずつ読み込む（ステップ３０２）。
【００４１】
続いて装置１０は、上述で読み込んだシステムログ１０８の値のうち、メッセージＩＤ７０３の値を参照し、該当システムログ１０８がトランザクションの開始を示すものかどうか判定する（ステップ３０３）。
【００４２】
メッセージＩＤ７０３の値がトランザクションの開始を示すものであった場合（ステップ３０３：Ｙｅｓ）、装置１０はバッファ上（例：メモリ１３にて確保した一時的な記憶領域）において、新規のトランザクションの為のテーブルを作成し（ステップ３０４）、このテーブルに上記ステップ３０２で読み込んでいる各値（時間、トランザクションＩＤ、メッセージＩＤ、その他）を含むレコードを追加することで、トランザクション分類ファイル１０９を生成する（ステップ３０５）。
【００４３】
こうして生成するトランザクション分類ファイル１０９の構成例を図９に示す。ここで例示したトランザクション分類ファイル１０９が示すテーブルは、上述の通り、システムログ１０８を行単位処理して分類した結果であるため、テーブル中の時間８０１、トランザクションＩＤ８０２、メッセージＩＤ８０３、その他８０４の各値は、システムログ１０８から読み取った時間７０１、トランザクションＩＤ７０２、メッセージＩＤ７０３、その他７０４の各値と同一となる。トランザクション分類ファイル１０９は、トランザクションごとに作成される。よって図９におけるトランザクション分類ファイル１０９は、それぞれ、「ｔｒｎ００００１」、「ｔｒｎ００００４」、「ｔｒｎ００００３」、のそれぞれのトランザクションに関するものとなっている。
【００４４】
次に装置１０は、上述で読み込んだシステムログ１０８のトランザクションＩＤを、記憶部１１の各トランザクション分類ファイル１０９に照合し、該当トランザクションＩＤが既出のトランザクションＩＤであるか判定する（ステップ３０６）。この時、トランザクションＩＤが既出のものであった場合（ステップ３０６：Ｙｅｓ）、装置１０は、既に存在する該当トランザクションＩＤに関するトランザクション分類ファイル１０９に対し、上記ステップ３０２で読み込んでいる各値（時間、トランザクションＩＤ、メッセージＩＤ、その他）を含むレコードを追加する（ステップ３０５）。
【００４５】
続いて装置１０は、上述で読み込んだシステムログ１０８のメッセージＩＤ７０３が、トランザクションの終了を示すものか判定する（ステップ３０７）。この時、メッセージＩＤ７０３が、トランザクションの終了を示すものである場合（ステップ３０７：Ｙｅｓ）、装置１０は、該当システムログ１０８から得てトランザクション分類ファイル１０９のレコードに格納（上記のステップ３０５）しているトランザクションＩＤ８０２をキーにして、トランザクション管理データベース１０６（図７）から機能情報（トランザクションの機能名６０２、セッション名６０３、画面名６０４の各値）を抽出する（ステップ３０８）。
【００４６】
また装置１０は、ステップ３０８で抽出した機能情報を組み合わせたユニークなファイル名を、上記のステップ３０４、３０５でバッファ上に作成してあるトランザクション分類ファイル１０９のファイル名として作成し、該当ファイルを記憶部１１に格納する。つまり、システムログ１０８に機能ログ１０５の値を組み込んだことになる。装置１０は、こうしてトランザクション単位にトランザクション分類ファイル１０９を作成し、記憶部１１に出力する（ステップ３０９）。これにより、記憶部１１にて各トランザクション分類ファイル１０９を参照すれば、各トランザクションがどの機能の処理の一部にあたるのか判断することができる。
【００４７】
上述したように、１つのトランザクション分類ファイル１０９には、ある機能のあるセッションに関する１つのトランザクション（すなわち１回の画面遷移）の情報が出力されることなる。よって、図１０に例示するイメージのように、トランザクション分類ファイル１０９は画面９０３の単位に相当する。
【００４８】
装置１０は、トランザクション分類ファイル１０９を出力した後、バッファ中の当該トランザクションのテーブルを削除する（ステップ３１０）。このとき装置１０は、該当システムログ１０８にて「ＥＯＦ」の値を検出すれば（ステップ３１１：Ｙｅｓ）、処理を終了し、「ＥＯＦ」の値を検出しなければ（ステップ３１１：Ｎｏ）、ステップ３０２に戻り、再度システムログ１０８を一行読み込み、以降のステップ３０３〜３１１を繰り返すことになる。こうしてトランザクション分類ファイル１０９が生成されることになる。
【００４９】
−−−処理手順例３−−−
次に、上述のステップ１０３の詳細について図に基づき説明する。図５は、本実施形態におけるシステム性能解析方法の処理手順例３を示すフロー図である。また、図１１にはパターン管理データベース１１０を、図１２には性能解析結果ファイル１１１の出力例を示す。
【００５０】
この場合、装置１０は、上記のステップ１０２で出力したトランザクション分類ファイル１０９を記憶部１１から読み込み（ステップ４０１）、そのファイル名より機能情報（機能名、セッション名、画面名）を取得する（ステップ４０２）。
【００５１】
装置１０は、上記ステップ４０２で得たセッション名の値がバッファ上に存在していない場合、上記ステップ４０１で読み込んだトランザクション分類ファイル１０９が、本フローで最初に読込んだセッションに関するものと判定し（ステップ４０３：Ｙｅｓ）、バッファ中に新規レコードを作成する（ステップ４０４）。また装置１０は、図１２に例示したパターン管理データベース１１０でのパターン文字列１００２のように、上記ステップ４０２で得た機能名と画面名の値を連結してパターン文字列を作成し、このパターン文字列を、ステップ４０４で作成した新規レコードに格納する（ステップ４０５）。
【００５２】
他方、上記ステップ４０１で読み込んだトランザクション分類ファイル１０９が、本フローで既に読込みを開始したセッションに関するものであった場合（ステップ４０３：Ｎｏ）、装置１０は、ステップ４０１で読み込んだトランザクション分類ファイル１０９が示すメッセージＩＤを参照し、このメッセージＩＤがセッション終端のトランザクションを示すもので無い限り（ステップ４０６：Ｎｏ）、同一セッションに対応付けされている各トランザクション分類ファイル１０９の読み込み（ステップ４０１）を実行し、既にバッファ上に作成しているパターン文字列へ、新たに読み込んだトランザクション分類ファイル１０９から得た画面名を連結する処理（ステップ４０５）を繰り返し実行する。
【００５３】
一方、ステップ４０１で読み込んだトランザクション分類ファイル１０９が示すメッセージＩＤが、セッション終端のトランザクションを示すものであった場合（ステップ４０６：Ｙｅｓ）、すなわち、セッションの終端のトランザクションを読み込んだ場合、装置１０は、ステップ４０５で作成されたパターン文字列をハッシュ関数に入力してｈａｓｈ変換し、パターン文字列を短縮化したキーを作成する（ステップ４０７）。
【００５４】
装置１０は、このキーを使用してパターン管理データベース１１０を検索し、パターン管理データベース１１０に登録済み、すなわち既出のパターンか判定する（ステップ４０８）。ステップ４０７で作成したキーが既出ではなかった場合（ステップ４０８：Ｎｏ）、装置１０は、図１１のパターン管理データベース１１０で例示するように、ｈａｓｈ変換されたキー１００１と変換前のパターン文字列１００２とでｋｅｙＶａｌｕｅ型のレコードを生成しパターン管理データベース１１０に格納する（ステップ４０９）。またこの場合、装置１０は、新規のテーブルを作成し（例えば図１２に例示する解析結果ファイル１１１における、「振込処理」以外の機能である「外貨購入」１１０３に対応したテーブル）、セッション名１１０４、一回の取引のレスポンスタイム１１０５、そして画面ごと（すなわち１つのトランザクションごと）の内部保留時間１１０６をこのテーブルにセットし、解析結果ファイル１１１に出力する（ステップ４１０）。
【００５５】
画面ごと（すなわち１つのトランザクションごと）の内部保留時間１１０６は、該当トランザクション分類ファイル１０９の含むシステムログ１０８のデータから特定できる（既存技術）。また、一回の取引のレスポンスタイム１１０５は、内部保留時間を該当セッション（遷移パターン）で集計した総レスポンスタイムとなる。
【００５６】
一方、ステップ４０７で作成したキーが既出であった場合（ステップ４０８：Ｙｅｓ）、装置１０は、その既出のパターンの解析結果ファイル１１１に、セッション名１１０４、一回の取引のレスポンスタイム１１０５、そして画面ごと（すなわち１つのトランザクション）の内部保留時間１１０６を追記する（ステップ４１０）。
【００５７】
装置１０は、ステップ４１０実行後、当該バッファのレコードをクリアする（ステップ４１１）。また装置１０は、上記のステップ４０３で判定したセッション、すなわち同一のセッションに関連するトランザクション分類ファイル１０９のうち、本フローに関して未処理のものが記憶部１１に残されているか判定する（ステップ４１２）。同一セッションに関連する未処理のトランザクション分類ファイル１０９があれば（ステップ４１２：Ｎｏ）、装置１０は、処理をステップ４０１に戻し、未処理のトランザクション分類ファイル１０９が無くなるまで、以降のステップ４０２〜４１２を繰り返し実行する。こうして解析結果ファイル１１１が生成されることとなる。
【００５８】
以上、本発明を実施するための最良の形態などについて具体的に説明したが、本発明はこれに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。
【００５９】
こうした本実施形態によれば、システムログと機能ログを互いに組み合わせて自動的に性能解析を行うことができる。また、各機能における複数の画面遷移パターンのうちから、事前のパターン定義なしに、解析対象の画面遷移のパターンを特定し、性能解析を行うことができる。従って、複数トランザクションを含むセッション毎の、システムにおける機能に関する効率的な性能解析が可能となる。
【００６０】
本明細書の記載により、少なくとも次のことが明らかにされる。すなわち、前記システム性能解析装置において、前記演算部は、前記性能解析の処理を行うにあたり、前記読み出した複数のファイルより、該ファイルらが含むシステムログにおけるメッセージＩＤを読み取り、少なくともセッションの開始および終端を示す各メッセージＩＤによって該当セッションにおける開始から終端に至る各トランザクションを特定することでトランザクションの遷移パターンを特定し、該特定したパターンごとに性能解析を実行するものである、としてもよい。
【００６１】
また、前記システム性能解析装置において、前記演算部は、解析対象のシステムより機能ログを読み出し、該機能ログから、各トランザクションが果たしている機能、所属するセッション、および処理時に出力する画面の各識別情報を取得して記憶部のデータベースに格納し、解析対象のシステムよりシステムログを読み出し、該システムログと前記データベースとの間で、トランザクションの識別情報が互いに一致するレコードをそれぞれ特定し、該特定したシステムログのレコードに、該特定した前記データベースのレコードが含む機能、セッション、および画面の各識別情報を付加してファイルを生成し、記憶部に格納し、前記性能解析の処理を行うにあたり、前記読み出した複数のファイルより、該ファイルらが含むシステムログにおけるメッセージＩＤを読み取り、少なくともセッションの開始および終端を示す各メッセージＩＤによって該当セッションにおける開始から終端に至る各トランザクションを特定することでトランザクションの遷移パターンを特定し、該特定した遷移パターンを構成するトランザクションの画面毎に、該当ファイルの含むシステムログのデータからレスポンスタイムを特定し、このレスポンスタイムを該当遷移パターンで集計した総レスポンスタイムを算定し、前記レスポンスタイムないし総レスポンスタイムのデータを含む解析結果を該当遷移パターンに対応付けて記憶部に格納するものである、としてもよい。
【００６２】
また、前記システム性能解析装置において、前記演算部は、前記特定したトランザクションの遷移パターンに関して、該遷移パターンを構成する各トランザクションの画面の識別情報らをつなげて文字列を生成し、該文字列を所定規則に沿って短縮化してキーを生成し記憶部に格納する処理を実行し、前記性能解析の処理を行うにあたり、前記特定した遷移パターンに関して生成した前記キーを記憶部に照合し、該当キーと一致するキーが記憶部にて検索できた場合、該当キーに対応付けて、当該性能解析の処理により得られた今回の解析結果を記憶部に格納し、該当キーと一致するキーが記憶部にて検索できなかった場合、該当キーを記憶部に格納し、該当キーに対応付けて、当該性能解析の処理により得られた今回の解析結果を記憶部に格納するものである、としてもよい。
【符号の説明】
【００６３】
１０  システム性能解析装置
１１  記憶部
１２  プログラム
１３  メモリ
１４  演算部
１５  入力部
１６  出力部
１７  通信部
１０５  機能ログ
１０６  トランザクション管理データベース（データベース）
１０８  システムログ
１０９  トランザクション分類ファイル（ファイル）
１１０  パターン管理データベース
１１１  解析結果ファイル
【図１】
0005718256.tif 000002
【図２】
0005718256.tif 000003
【図３】
0005718256.tif 000004
【図４】
0005718256.tif 000005
【図５】
0005718256.tif 000006
【図６】
0005718256.tif 000007
【図７】
0005718256.tif 000008
【図８】
0005718256.tif 000009
【図９】
0005718256.tif 000010
【図１０】
0005718256.tif 000011
【図１１】
0005718256.tif 000012
【図１２】
0005718256.tif 000013