(57)【要約】【課題】ネットワーク処理の多い場合であっても測定対象サーバの高精度のトランザクション・プロファイルが作成可能なトランザクション・プロファイル作成方法および装置を提供する。【解決手段】測定対象サーバ２０から計測用プローブ２３を介してイベント・トレース・データ４０を採取し、このイベント・トレース・データ４０をトランザクション・プロファイル処理部３０のトランザクション・プロファイル生成部３１、ネットワーク処理プロファイル生成部３２、ネットワーク操作集計部３３、ネットワーク処理プロファイル按分部３４およびトランザクション・プロファイル補正部３５によりトランザクション・プロファイル５０を作成して出力する。【選択図】図１
2006285304.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークに接続された測定対象サーバの性能基礎データであるトランザクション・プロファイル（ＣＰＵ時間）を作成するトランザクション・プロファイル作成方法において、
前記測定対象サーバのイベント・トレース・データを入力として、割り込みコンテキストでのネットワーク処理に使用したＣＰＵ時間の合計を求める第１ステップと、各プロセスが行ったネットワーク操作の相対コスト合計を求める第２ステップとを備えることを特徴とするトランザクション・プロファイル作成方法。
【請求項２】
前記イベント・トレース・データは、プロセス切替イベント、プロセスによるネットワーク操作を表すイベントおよびネットワーク処理の開始および終了を表すイベントを含むことを特徴とする請求項１に記載のトランザクション・プロファイル作成方法。
【請求項３】
前記第１ステップおよび前記第２ステップの結果に基づき前記各プロセスに按分するＣＰＵ時間を求める第３ステップを備えることを特徴とする請求項１又は２に記載のトランザクション・プロファイル作成方法。
【請求項４】
ネットワークに接続された測定対象サーバのトランザクションの処理に使用する計算機資源の量や時間（ＣＰＵ時間）の性能基礎データであるトランザクション・プロファイルを作成するトランザクション・プロファイル作成方法において、
前記トランザクション処理を担うプロセスによるＣＰＵ時間を求めるステップと、割り込みコンテキストでネットワーク処理のために使用したＣＰＵ時間を求めるステップと、前記プロセス毎に求めたネットワーク操作の相対コストに基づいて按分したＣＰＵ時間を、前記トランザクション処理を担うプロセスによるＣＰＵ時間に加えるステップとを備えることを特徴とするトランザクション・プロファイル作成方法。
【請求項５】
ネットワークに接続された測定対象サーバの性能基礎データであるトランザクション・プロファイル（ＣＰＵ時間）を作成するトランザクション・プロファイル作成装置において、
前記測定対象サーバから採取したイベント・トレース・データがそれぞれ入力され、プロセス毎のＣＰＵ時間を求めるトランザクション・プロファイル生成部、ネットワーク処理ＣＰＵ時間を求めるネットワーク処理プロファイル生成部およびネットワーク操作イベントを読み込んでネットワーク操作の相対コストを求めるネットワーク操作集計部、前記ネットワーク処理プロファイル生成部からのネットワーク処理ＣＰＵ時間と前記ネットワーク操作集計部からのネットワーク操作の相対コストに基づき前記プロセス毎のネットワーク処理ＣＰＵ時間を求めるネットワーク処理プロファイル按分部、および該ネットワーク処理プロファイル按分部および前記トランザクション・プロファイル生成部に接続され、前記ネットワーク処理によるＣＰＵ時間を含めたトランザクション・プロファイルを作成して出力するトランザクション・プロファイル補正部を備えることを特徴とするトランザクション・プロファイル作成装置。
【請求項６】
前記各ネットワーク操作の相対コストは、相対コスト表により予め設定されていることを特徴とする請求項５に記載のトランザクション・プロファイル作成装置。
【請求項７】
前記イベント・トレース・データは、前記測定対象サーバから計測用プローブにより採取された時刻、イベントの種類、プロセスＩＤおよびデータサイズを含むことを特徴とする請求項５又は６に記載のトランザクション・プロファイル作成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は情報処理装置の基本性能評価技術に関し、特にネットワークに接続されたサーバ等の情報処理システムの性能基礎データであるトランザクション・プロファイルを作成するトランザクション・プロファイル作成方法および装置に関する。
【背景技術】
【０００２】
コンピュータ技術の進歩により、多くの情報をコンピュータやサーバにより実行する情報処理装置が開発され、広く普及している。斯かる情報処理装置では、その性能基礎データ又は基本処理能力の目安である正確なトランザクション・プロファイルを知ることが望まれる。
【０００３】
斯かる技術分野における従来技術は、幾つかの技術文献に開示されている。個々のトランザクション処理プロセスがＣＰＵ（中央演算処理装置）を使用する時間を返送して、各トランザクション処理プロセスの処理能力とトランザクション処理システム全体の処理能力を同時に計測する処理能力測定装置および方法が開示されている（例えば、特許文献１参照）。
【０００４】
また、複数のトランザクションを並行に処理するサーバの性能を評価する１例が開示されている（例えば、非特許文献１参照）。この方法では、１トランザクションの処理で使用するサーバ・リソース（ＣＰＵやディスク等）の時間という性能基礎データ（トランザクション・プロファイル）と待ち行列網理論に基づく性能予測モデルを使用することにより、サーバが複数のトランザクションを処理する際の性能（主としてトランザクションのレスポンス時間とサーバのスループットの関係）を見積もる。また、性能予測モデルとして性能シミュレータを使用する技術も開示されている（例えば、非特許文献２参照）。しかし、この非特許文献２においても、性能評価における入力データと出力結果は、非特許文献１と同様である。
【０００５】
上述した評価方法は、何れもトランザクション・プロファイルを入力データとしているため、得られる結果の良し悪しは、トランザクション・プロファイルの精度次第である。非特許文献１の如く、イベント・トレース技術を使用して評価対象システムに類似するシステム又は評価対象システムのプロトタイプを測定してトランザクション・プロファイルを得る方法は、一般には高精度でトランザクション・プロファイルが得られると考えられている。
【０００６】
【特許文献１】特開２００１−１４１８９号公報（第３‐４頁、第１図）
【非特許文献１】Takashi Horikawa, Performance Analysis of a Client-Server SystemUsing Queueing Networks: A Case Study, Int. Trans. Opl Res. Vol. 4, No. 3pp.199-209, 1997
【非特許文献２】http://www.hyperformix.com/Default.asp?Page=210
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかし、上述の如き従来技術による解析で求められるトランザクション・プロファイルにおけるＣＰＵ使用時間、即ちＣＰＵがプロセス・コンテキストで動作した期間を対象としたものである点が問題となる場合がある。即ち、ネットワーク経由でデータを送受信する操作を検討すると、送受信操作やプロトコル処理は、割り込みコンテキストで実行されることが多いため、この処理によるＣＰＵ使用時間は、従来方法で求めたトランザクション・プロファイルには含まれないことになる。トランザクション処理に伴うネットワーク処理で使用するＣＰＵ時間は、トランザクション量の増加に伴って増える要素であるため、トランザクション・プロファイルに含めないと正確な評価ができないことになる。特に、ネットワーク処理を多用するアプリケーションを対象とした性能評価を行う場合には、従来技術により得られるトランザクション・プロファイルを利用すると、誤った評価結果となる可能性がある。
【０００８】
一方、情報処理システムのサイジング（即ち、システムにかかる負荷を処理するために必要となるＣＰＵ、Ｄｉｓｋ、ネットワーク等の計算機資源の規模を適正に見積もること）を行なうためには、トランザクション・プロファイル（即ち、１トランザクションの処理に使用する計算機資源の量や時間）を基礎データとするシミュレーションや待ち行列網モデル等の数理モデルを利用して行なうことが多い。即ち、トランザクション・プロファイルの精度がサイジングの精度を決めることになるため、この精度は重要である。
【０００９】
ネットワークに接続されたサーバでは、通常、ネットワークを介して処理要求および処理結果の受け渡しを行なうが、ネットワークの送信や受信の処理（即ち、ネットワーク処理）に必要な割り込み処理やプロトコル処理は、プロセスの動作（即ち、プロセス・コンテキスト）ではなく、割り込み処理中の動作（即ち、割り込みコンテキスト）として実行されることが多い。このため、従来技術によるプロファイル作成方法では、ネットワーク処理のためのＣＰＵ使用時間は、トランザクション処理に伴うＣＰＵ使用でありながら、トランザクション・プロファイルのＣＰＵ使用時間として計上されないという問題があった。
【００１０】
また、各ネットワーク処理とトランザクション処理の対応付けを可能にする程度までイベント・トレースに記録するイベントを詳細化する方法では、トレース対象イベントの発生頻度が高くなるため、トレース採取時のオーバーヘッドが大きくなってしまう上、イベント・トレース・データのサイズも大きくなってしまうという問題点があった。
【課題を解決するための手段】
【００１１】
前述の課題を解決するため、本発明によるトランザクション・プロファイル作成方法および装置は次のような特徴的な構成を採用している。
【００１２】
（１）ネットワークに接続された測定対象サーバの性能基礎データであるトランザクション・プロファイル（ＣＰＵ時間）を作成するトランザクション・プロファイル作成方法において、
前記測定対象サーバのイベント・トレース・データを入力として、割り込みコンテキストでのネットワーク処理に使用したＣＰＵ時間の合計を求める第１ステップと、各プロセスが行ったネットワーク操作の相対コスト合計を求める第２ステップとを備えるトランザクション・プロファイル作成方法。
（２）前記イベント・トレース・データは、プロセス切替イベント、プロセスによるネットワーク操作を表すイベントおよびネットワーク処理の開始および終了を表すイベントを含む上記（１）のトランザクション・プロファイル作成方法。
（３）前記第１ステップおよび前記第２ステップの結果に基づき前記各プロセスに按分するＣＰＵ時間を求める第３ステップを備える上記（１）又は（２）のトランザクション・プロファイル作成方法。
（４）ネットワークに接続された測定対象サーバのトランザクションの処理に使用する計算機資源の量や時間（ＣＰＵ時間）の性能基礎データであるトランザクション・プロファイルを作成するトランザクション・プロファイル作成方法において、
前記トランザクション処理を担うプロセスによるＣＰＵ時間を求めるステップと、割り込みコンテキストでネットワーク処理のために使用したＣＰＵ時間を求めるステップと、前記プロセス毎に求めたネットワーク操作の相対コストに基づいて按分したＣＰＵ時間を、前記トランザクション処理を担うプロセスによるＣＰＵ時間に加えるステップとを備えるトランザクション・プロファイル作成方法。
（５）ネットワークに接続された測定対象サーバの性能基礎データであるトランザクション・プロファイル（ＣＰＵ時間）を作成するトランザクション・プロファイル作成装置において、
前記測定対象サーバから採取したイベント・トレース・データがそれぞれ入力され、プロセス毎のＣＰＵ時間を求めるトランザクション・プロファイル生成部、ネットワーク処理ＣＰＵ時間を求めるネットワーク処理プロファイル生成部およびネットワーク操作イベントを読み込んでネットワーク操作の相対コストを求めるネットワーク操作集計部、前記ネットワーク処理プロファイル生成部からのネットワーク処理ＣＰＵ時間と前記ネットワーク操作集計部からのネットワーク操作の相対コストに基づき前記プロセス毎のネットワーク処理ＣＰＵ時間を求めるネットワーク処理プロファイル按分部、および該ネットワーク処理プロファイル按分部および前記トランザクション・プロファイル生成部に接続され、前記ネットワーク処理によるＣＰＵ時間を含めたトランザクション・プロファイルを作成して出力するトランザクション・プロファイル補正部を備えるトランザクション・プロファイル作成装置。
（６）前記各ネットワーク操作の相対コストは、相対コスト表により予め設定されている上記（５）のトランザクション・プロファイル作成装置。
（７）前記イベント・トレース・データは、前記測定対象サーバから計測用プローブにより採取された時刻、イベントの種類、プロセスＩＤおよびデータサイズを含む上記（５）又は（６）のトランザクション・プロファイル作成装置。
【発明の効果】
【００１３】
本発明のトランザクション・プロファイル作成方法および装置によると、次の如き実用上の顕著な効果が得られる。第１に、割り込みコンテキストで実行されるネットワーク処理のためのＣＰＵ時間分を加算したトランザクション・プロファイルが得られる。その理由は、イベント・トレース・データの分析では、ネットワーク処理のために使用したＣＰＵ時間も求めておき、従来のトランザクション・プロファイルに按分して加えるという補正を行うためである。
【００１４】
第２に、トランザクション・プロファイル作成の基データとなるイベント・トレース・データを測定対象サーバから得る際のオーバーヘッド増加を少なくすることが可能である。その理由は、相対コスト表を導入することにより、基本的なネットワーク操作についてのイベントを出力するのみで各プロセスへのネットワーク処理ＣＰＵ時間の按分を可能にしたためである。即ち、測定対象サーバにおいて、個々のネットワーク処理について加えるべきプロセスとの対応関係を示す情報をイベント・トレース・データに出力する必要性をなくしたためである。
【実施例】
【００１５】
以下、本発明によるトランザクション・プロファイル作成方法および装置の好適実施例の構成および動作を、添付図面を参照して詳細に説明する。
【００１６】
先ず、図１は、本発明によるトランザクション・プロファイル作成装置の好適実施例のシステム構成図を示す。このトランザクション・プロファイル作成装置１０は、プログラム制御により動作する測定対象サーバ２０およびトランザクション・プロファイル処理部３０を含んでいる。
【００１７】
測定対象サーバ２０は、アプリケーション・プログラム２２および計測用プローブ２３を内蔵するオペレーティング・システム（ＯＳ）２１を含んでいる。また、トランザクション・プロファイル処理部３０は、トランザクション・プロファイル生成部３１、ネットワーク処理プロファイル生成部３２、ネットワーク操作集計部３３、ネットワーク処理プロファイル按分部３４、トランザクション・プロファイル補正部３５および相対コスト表３６を含んでいる。そして、測定対象サーバ２０から計測用プローブ２３を介してイベント・トレース・データ４０を採取し、メモリ（記憶装置）に格納する。このイベント。トレース・データは、測定対象サーバから採取された時刻、イベントの種類、プロセスＩＤおよびデータサイズを含んでいる。更に、トランザクション・プロファイル処理部３０は、トランザクション・プロファイル５０を作成して出力する。
【００１８】
図１に示すトランザクション・プロファイル作成装置１０の概略動作は、次のとおりである。測定対象サーバ２０の計測用プローブ２３は、測定対象サーバ２０の振る舞いを時系列として記録したイベント・トレース・データ４０を出力するように構成されている。アプリケーション・プログラム２２がトランザクションを処理しているときのイベント・トレースを計測用プローブ２３で採取する。そして、このイベント・トレース・データ４０が入力されると、トランザクション処理部３０の各部は、次の順序で動作する。
【００１９】
（１）トランザクション・プロファイル生成部３１は、プロセス毎の計算機資源使用量（即ち、トランザクション・プロファイル）を求める。
（２）ネットワーク処理プロファイル生成部３２は、割り込みコンテキストで実行されるネットワーク処理で使用されたＣＰＵ時間（以下、全ネットワーク処理ＣＰＵ時間という）の合計を求める。
（３）ネットワーク操作集計部３３では、相対コスト表３６に記載された計算方法に従って、各プロセスが行った全ネットワーク操作の相対コストを合計した値（以下、プロセス毎の相対コスト合計という）を求める。
（４）ネットワーク処理プロファイル按分部３４は、プロセス毎の相対コスト合計およびネットワーク処理ＣＰＵ時間から、各プロセスに按分するＣＰＵ時間（プロセス毎のネットワーク処理ＣＰＵ時間）を求める。
（５）トランザクション・プロファイル補正部３５では、従来のトランザクション・プロファイル中のＣＰＵ時間に、（４）で求めたプロセス毎のネットワーク処理ＣＰＵ時間を加えることにより、割り込みコンテキストで実行されたネットワーク処理によるＣＰＵ時間も含めたトランザクション・プロファイルを求める。
【００２０】
次に、図１に示すトランザクション・プロファイル作成装置１０の動作を、図２〜図８の説明図を参照して詳細に説明する。図２は、イベント・トレース・データ４０の具体例を示す。図３は、図２に示すイベント・トレース・データ４０から生成されたトランザクション・プロファイル（ＣＰＵ使用時間）を示す。図４は、ネットワーク操作の相対コストの１例を示す。図５は、各ネットワーク操作の相対コストを求めた結果を示す。図６は、全ネットワーク処理ＣＰＵ時間を示す。図７は、各プロセスに按分されたネットワーク処理ＣＰＵ時間を示す。また、図８は、トランザクション・プロファイル中のＣＰＵ時間を示す。
【００２１】
図２に示す測定対象サーバ２０から採取したイベント・トレースの具体例では、時刻毎のイベントの種類、プロセスＩＤおよびデータサイズを示す。この実施例の動作を、図２に示すイベント・トレース・データ４０の具体例からトランザクション・プロファイルを生成する場合について説明する。
【００２２】
先ず、イベント・トレース・データ４０を入力として結果を得る方法であるトランザクション・プロファイル生成部３１、ネットワーク処理プロファイル生成部３２およびネットワーク操作集計部３３の基本的な動作は同じである。即ち、イベント・トレース・データ４０から１イベント分のイベント・データを読み込んで必要な集計を行なうという操作を、イベント・トレース・データ４０に記録された先頭イベントから順に行う。そして、イベント・トレース・データ４０の最後に記録されたイベントについての集計操作が完了すると、そこまでの結果を最終結果として次の処理に送るという動作をする。
【００２３】
先ず、トランザクション・プロファイル生成部３１では、プロセス毎の計算機資源使用量を示すトランザクション・プロファイルを作成する。図２のイベント・トレース・データ４０から生成したトランザクション・プロファイル（ＣＰＵ使用時間）を図３に示す。図３では、プロセス毎に、トランザクション・プロファイル中のＣＰＵ時間を計算する。各プロセス１００、２００等のＣＰＵ使用時間は、プロセスが動作していた時間（saveイベントの時刻   対応するresumeイベントの時刻）から、その間に行なった割り込み処理時間（interrupt終了イベントの時刻interrupt開始イベントの時刻）である。
【００２４】
次に、ネットワーク処理プロファイル生成部３２では、ネットワーク処理ＣＰＵ時間を求める。interrupt開始イベントからinterrupt終了イベントまでの期間が割り込みコンテキストでネットワーク処理を行なっていた時間になるので、図２のイベント・トレース・データ４０での全ネットワーク処理ＣＰＵ時間は、下記の（式１）で与えられる。
(t5-t4)+(t8-t7)+(t12-t11)+(t16-t15)+(t21-t20)・・・・（式１）
【００２５】
ネットワーク操作集計部３３では、ネットワーク操作イベントを読み込むと、相対コスト表３６に記載され且つ図４に示す、予め設定されたネットワーク操作の相対コストに基づいて、そのネットワーク操作についての相対コストを求める。そして、求めた相対コストをそのイベントが属するプロセスの相対コスト合計に加える。図４に示す具体例では、connect操作の相対コストは２００、accept操作の相対コストは５００、send操作の相対コストは５＋１×データサイズ、receive操作の相対コストは１０＋０．８×データサイズ、そしてclose操作の相対コストは１００である。尚、ネットワーク操作イベントがプロセス・コンテキスト、即ちresumeイベントからsaveイベントの間で発生するようになっている。そのため、resumeイベントとsaveイベントもネットワーク操作集計部３３の処理対象とすることにより、当該ネットワーク操作イベントが属するプロセスの特定は容易である。
【００２６】
図２に示すイベント・トレース・データ４０に基づいて、各ネットワーク操作の相対コストを求めた結果を図５に示す。図５には、時刻、イベントの種類、プロセスＩＤ、データサイズおよび相対コストを含んでいる。この相対コストの欄には、上述した図４に示す各ネットワーク操作に対する相対コストが含まれている。即ち、例えばconnect操作に対しては、相対コストとして２００が含まれている。
【００２７】
また、ネットワーク操作集計部３３の出力、即ち各プロセスの相対コスト合計を求めた結果を図６に示す。図６には、プロセス１００、２００毎に相対コスト合計を示す。即ち、プロセス１００の相対コスト合計は８３０（＝２００＋２５＋５０５＋１００）であり、プロセス２００の相対コスト合計は５５０（＝５００＋５０）である。
【００２８】
次に、イベント・トレース・データ４０を入力しての処理が完了すると、ネットワーク処理プロファイル按分部３４およびトランザクション補正部３５が動作し、最終的なトランザクション・プロファイル５０を作成して出力する。その手順を以下に示す。
【００２９】
先ず、ネットワーク処理按分部３４は、ネットワーク処理プロファイル生成部３２から全ネットワーク処理ＣＰＵ時間およびネットワーク操作集計部３３からプロセス毎の相対コスト合計を受け取り、プロセス毎のネットワーク処理ＣＰＵ時間を求める。具体的には、あるプロセスについてのネットワーク処理ＣＰＵ時間は、全ネットワーク処理ＣＰＵ時間×そのプロセスの相対コスト合計／全プロセスの相対コスト合計で求める。全ネットワーク処理ＣＰＵ時間および図６に示したプロセス毎の相対コスト合計から、各プロセスに按分するネットワーク処理ＣＰＵ時間を図７に示す。
【００３０】
次に、トランザクション補正部３５では、トランザクション・プロファイル生成部３１が作成した一般的なトランザクション・プロファイル中のＣＰＵ時間に対して、ネットワーク処理按分部３４が作成した各プロセスに按分するネットワーク処理ＣＰＵ時間の結果を加え、ネットワーク処理によるＣＰＵ使用を含めたトランザクション・プロファイルを作成する。図３と図６を入力として作成したトランザクション・プロファイルにおけるＣＰＵ時間を図８に示す。
【００３１】
上述の如く、本発明のトランザクション・プロファイル作成装置１０によると、通常、割り込みコンテキストで実行されるネットワークの送信や受信の処理のために使用されるＣＰＵ時間も計上された正確なトランザクション・プロファイルが作成可能である。
【００３２】
以上、本発明によるトランザクション・プロファイル作成方法および装置の好適実施例の構成および動作を詳述した。しかし、斯かる実施例は、本発明の単なる例示に過ぎず、何ら本発明を限定するものではないことに留意されたい。本発明の要旨および精神を逸脱することなく、特定用途に応じて種々の変形変更が可能であること、当業者には容易に理解できよう。この明細書中、サーバとは、コンピュータ、ワークステーション等の情報処理装置全体を意味する広い概念である。
【００３３】
尚、本発明によれば、ネットワーク処理の多いトランザクション処理プログラムのトランザクション・プロファイルをイベント・トレース・データから高精度で求めるためのプログラムといった用途に適用できる。
【図面の簡単な説明】
【００３４】
【図１】本発明によるトランザクション・プロファイル作成装置の好適実施例の構成を示す機能ブロック図である。
【図２】図１中の測定対象サーバから取得したイベント・トレースの１例を示す図である。
【図３】図２に示すイベント・トレースに基づくプロセス毎のトランザクション・プロファイル（ＣＰＵ時間）を示す図である。
【図４】図２中の操作毎に定められた相対コストの具体例を示す図である。
【図５】図２に示すイベント・トレース・データに図４に示す相対コストを加えた説明図である。
【図６】図２に示すイベント・トレース中のプロセス毎の相対コスト合計を示す図である。
【図７】各プロセスに按分するネットワーク処理ＣＰＵ時間の説明図である。
【図８】トランザクション・プロファイル中のネットワーク処理を含む合計ＣＰＵ時間の説明図である。
【符号の説明】
【００３５】
１０  トランザクション・プロファイル処理部
２０  測定対象サーバ
２３  計測用プローブ
３０  トランザクション・プロファイル処理部
３１  トランザクション・プロファイル生成部
３２  ネットワーク処理プロファイル生成部
３３  ネットワーク操作集計部
３４  ネットワーク処理プロファイル按分部
３５  トランザクション・プロファイル補正部
３６  相対コスト表
４０  イベント・トレース・データ
５０  トランザクション・プロファイル
【図１】
2006285304.tif 000003
【図２】
2006285304.tif 000004
【図３】
2006285304.tif 000005
【図４】
2006285304.tif 000006
【図５】
2006285304.tif 000007
【図６】
2006285304.tif 000008
【図７】
2006285304.tif 000009
【図８】
2006285304.tif 000010