[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP4983636B2 - トランザクション装置、遅延障害分析装置、遅延障害分析方法およびプログラム - Google Patents

トランザクション装置、遅延障害分析装置、遅延障害分析方法およびプログラム Download PDF

Info

Publication number
JP4983636B2
JP4983636B2 JP2008030519A JP2008030519A JP4983636B2 JP 4983636 B2 JP4983636 B2 JP 4983636B2 JP 2008030519 A JP2008030519 A JP 2008030519A JP 2008030519 A JP2008030519 A JP 2008030519A JP 4983636 B2 JP4983636 B2 JP 4983636B2
Authority
JP
Japan
Prior art keywords
transaction
execution
time
total
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2008030519A
Other languages
English (en)
Other versions
JP2009193128A (ja
Inventor
誠 立花
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2008030519A priority Critical patent/JP4983636B2/ja
Publication of JP2009193128A publication Critical patent/JP2009193128A/ja
Application granted granted Critical
Publication of JP4983636B2 publication Critical patent/JP4983636B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Description

本発明は、トランザクションの遅延障害の原因を分析するトランザクション装置、遅延障害分析装置、遅延障害分析方法およびプログラムに関する。
互いに不可分な複数の処理から構成されるトランザクションの遅延障害を検出する方法には、以下の検出方法が知られている。なお、遅延障害は、トランザクションが通常に比べて遅延する障害である。
この検出方法では、トランザクションを構成する処理ごとに閾値となる時間が設定され、その閾値を超える処理を検出した場合に、その処理を有するトランザクションに遅延が発生したと判断している。
ここで、閾値は、トランザクション装置の管理者にて手動で設定されていた。このため、トランザクション装置は、遅延障害の発生を正確にまたは全く検出することができない場合があった。例えば、閾値が適切な値に設定されていないと、遅延障害の発生を正確に検出できないし、管理者が閾値を設定し忘れると、遅延障害の発生を全く検出できない。
特許文献1には、管理者がトランザクションを構成する処理ごとに閾値を設定しなくても遅延障害の発生を検出することが可能なトランザクション装置が記載されている。
このトランザクション装置は、先ず、トランザクションの実行時間を計測する。続いて、トランザクション装置は、その実行時間に基づいて、直近の単位時間以前に実行されたトランザクションの実行時間の平均値(過去の実行時間の平均値)と、直近の所定時間内に実行されたトランザクションの実行時間の平均値(直近の実行時間の平均値)とを算出する。そして、トランザクション装置は、過去の実行時間の平均値と直近の実行時間の平均値を比較して、直近の実行時間の平均値が過去の実行時間の平均値を超えると、トランザクションに遅延障害が発生したと判断する。
このため、特許文献1に記載のトランザクション装置では、管理者がトランザクションを構成する処理ごとに閾値を設定しなくても遅延障害の発生を検出することができる。このため、遅延障害の発生を正確に検出することが可能になる。
特開2007−249663号公報
トランザクションの遅延障害の検出とは別に、発生したトランザクションの遅延障害の原因を分析する技術が提案または実用化されている。
トランザクションの遅延障害の原因には、トランザクションの実行時間の増加と、トランザクションの実行の滞留とがある。また、トランザクションの実行の滞留は、トランザクションの処理要求がトランザクションを同時に実行できる実行可能数よりも多くなることで生じることもあるし、トランザクション装置に恒久的な障害が発生し、実行中のトランザクションがストールしたことで発生することもある。また、これらの原因が、同時に発生することもある。
なお、トランザクション装置は、スレッドやプロセスなどの処理単位ごとにトランザクションを実行することで、複数のトランザクションを同時に実行する。この処理単位の数が、実行可能数となる。ここで、実行中のトランザクションがストールした場合、そのストール状態のトランザクションが処理単位を専有することとなり、トランザクション装置の処理能力が低下する。具体的には、トランザクションを同時に実行できる実質的な数が減少する。このため、処理要求の数が実行可能数よりも少なくても、トランザクションの実行が滞留される。
上述のトランザクションを構成する処理ごとに閾値となる時間を設定する検出方法や、特許文献1に記載の発明では、トランザクションの実行時間の増加により発生した遅延障害を検出することしかできない。このため、遅延障害が発生した場合に、その遅延障害の原因が、トランザクションの実行時間の増加なのか、それとも、トランザクションの実行の滞留なのかを分析することができないという問題がある。
本発明の目的は、上記の課題である、トランザクションの遅延障害の原因を分析することはできないという問題を解決する、トランザクション装置、遅延障害分析装置、遅延障害分析方法およびプログラムを提供することである。
本発明によるトランザクション装置は、トランザクションの処理要求を受け付ける受付手段と、前記受付手段が受け付けた処理要求を待ち行列に滞留する滞留手段と、前記トランザクションを新たに実行することが可能になると、前記滞留手段の待ち行列に保持された処理要求に応じたトランザクションを実行する実行手段と、前記実行手段が前記トランザクションの実行を開始した実行開始時刻を計測する実行制御手段と、前記滞留手段の待ち行列に滞留されている処理要求の滞留数を計測するリクエスト管理手段と、実行制御手段が計測した実行開始時刻と、前記リクエスト管理手段が計測した滞留数とを記憶する情報記憶手段と、前記情報記憶手段に記憶された情報に基づいて、前記トランザクションの遅延障害の原因が、前記実行時間の増加か、それとも、前記トランザクションの実行の滞留かを分析する分析手段と、を含む。
また、本発明による遅延障害分析装置は、トランザクションの処理要求を受け付け、該処理要求を待ち行列に滞留し、前記トランザクションが新たに実行可能になると、前記待ち行列に保持された処理要求に応じたトランザクションを実行するトランザクション装置において前記トランザクションの遅延障害の原因を分析する遅延障害分析装置であって、前記トランザクション装置が前記トランザクションの実行を開始した実行開始時刻を計測する実行制御手段と、前記トランザクション装置の待ち行列に滞留されている処理要求の滞留数を計測するリクエスト管理手段と、前記実行制御手段が計測した実行開始時刻と、前記リクエスト管理手段が計測した滞留数と、を記憶する情報記憶手段と、前記情報記憶手段に記憶された情報に基づいて、前記トランザクションの遅延障害の原因が、前記実行時間の増加か、それとも、前記トランザクションの実行の滞留かを分析する分析手段と、を含む。
また、本発明による遅延障害分析方法は、トランザクションの処理要求を受け付け、
前記受け付けられた処理要求を待ち行列に滞留し、前記トランザクションを新たに実行することが可能になると、前記待ち行列に保持された処理要求に応じたトランザクションを実行し、前記トランザクションの実行が開始された実行開始時刻を計測し、前記待ち行列に滞留されている処理要求の滞留数を計測し、前記計測された実行開始時刻および滞留数を記憶し、前記記憶された情報に基づいて、前記トランザクションの遅延障害の原因が、前記実行時間の増加か、それとも、前記トランザクションの実行の滞留かを分析する。
また、本発明によるプログラムは、トランザクションの遅延障害の分析をコンピュータに実行させるプログラムであって、トランザクションの処理要求を受け付ける手順と、前記受け付けられた処理要求を待ち行列に滞留する手順と、前記トランザクションを新たに実行することが可能になると、前記待ち行列に保持された処理要求に応じたトランザクションを実行する手順と、前記トランザクションの実行が開始された実行開始時刻を計測する手順と、前記待ち行列に滞留されている処理要求の滞留数を計測する手順と、前記計測された実行開始時刻および滞留数を記憶する手順と、前記記憶された情報に基づいて、前記トランザクションの遅延障害の原因が、前記実行時間の増加か、それとも、前記トランザクションの実行の滞留かを分析する手順と、を前記コンピュータに実行させる。
本発明によれば、遅延障害の原因を分析することが可能になる。
以下、本発明の実施形態について図面を参照して説明する。
図1は、本発明の第一の実施形態のトランザクションシステムを示したブロック図である。図1において、トランザクションシステムは、サーバコンピュータ1(トランザクション装置)と、複数のクライアント端末2と、運用管理端末3とを含む。ここで、サーバコンピュータ1は、クライアント端末2と運用管理端末3のそれぞれに、ネットワークNを介して相互に接続される。
サーバコンピュータ1は、クライアント端末2からトランザクションの処理要求を受け付け、その処理要求に応じたトランザクションを実行し、その実行結果を処理要求に応じた応答情報としてクライアント端末2に送信する。また、サーバコンピュータ1は、運用管理端末3と任意の情報を送受信する。
なお、トランザクションシステムは、図1で示した形態に限らず、サーバコンピュータ1が処理要求を受け付け、その処理要求に応じたトランザクションを実行するように動作するものであればよい。
クライアント端末2は、トランザクションの処理要求をサーバコンピュータ1に送信し、その処理要求に応じた応答情報をサーバコンピュータ1から受信する。なお、クライアント端末2は、クライアントアプリケーションプログラムをCPUに実行させることで、上記の処理を行っているものとする。
運用管理端末3は、サーバコンピュータ1の管理者にて使用され、サーバコンピュータ1の制御および管理を行なう。
以下、サーバコンピュータ1について詳細に説明する。
サーバコンピュータ1では、トランザクションを実行するためのサーバアプリケーションプログラム(以下、サーバアプリケーションと略す)に従ってCPUがトランザクションを実行する。サーバアプリケーションは、一つでも複数でもよい。なお、各サーバアプリケーションには、実行可能なトランザクションの種別が定められている。
また、サーバアプリケーションは、一つまたは複数の処理単位を有し、CPUは、その処理単位ごとにトランザクションを独立に実行する。なお、処理単位は、例えば、スレッドまたはプロセスなどである。本実施形態では、サーバアプリケーションは、複数あり、各サーバアプリケーションは、複数の処理単位を有するものとする。また、処理単位は、スレッドであるとする。
図2は、サーバコンピュータ1の構成例を示したブロック図である。図2において、サーバコンピュータ1は、記憶装置1Aと、演算装置1Bとを含む。
記憶装置1Aは、例えば、ハードディスクであり、トランザクションの遅延障害の原因を分析するためデータベースである管理表を記憶する管理表記憶部11を含む。
演算装置1Bは、CPUであり、CPUにて読み取り可能な記録媒体からプログラムを読み取り、読み取ったプログラムを実行して、リクエスト受付部12と、キュー制御部13と、サーバアプリケーション部14と、トランザクション制御部15と、情報管理部16と、障害分析部17と、障害対応部18とを実現する。ここで、記録媒体は、記憶装置1Aでもよいし、他のものでもよい。
また、管理表記憶部11、トランザクション制御部15、情報管理部16、障害分析部17および障害対応部18は、トランザクションの遅延障害を分析する遅延障害分析装置を構成する。
なお、演算装置1Bには、トランザクションの遅延障害の原因を分析する機能の他に、一般的なサーバコンピュータが備える機能なども有しているが、それらの機能は本発明と直接関係しないので、その説明は省略する。また、記憶装置1Aには、管理表の他に、演算装置1Bが一般的なサーバコンピュータが備える機能を実現するために必要な情報を記憶しているが、その情報は本発明と直接関係しないので、その情報の説明は省略する。
以下、記憶装置1Aおよび演算装置1Bの各部について詳細に説明する。
記憶装置1Aの管理表記憶部11は、情報記憶手段の一例である。管理表記憶部11は、管理表として、トランザクション実行時間管理表と、リクエスト受付情報管理表と、サーバアプリケーション状態管理表とを記憶する。
トランザクション実行時間管理表(以下、実行時間管理表と略す)では、トランザクションが実行された実行回数と、トランザクションの実行時間の合計時間とが、トランザクションの種別を特定するトランザクション識別子ごとに対応付けられている。
トランザクションの実行回数としては、直近の単位時間内にトランザクションが実行された回数である直近実行回数と、直近の単位時間以前にトランザクションが実行された回数である全実行回数とがある。
また、トランザクションの実行時間の合計時間としては、トランザクションの実行時間の直近の単位時間内の合計である直近合計時間と、トランザクションの実行時間の直近の単位時間以前の合計である全合計時間とがある。なお、単位時間は、固定でもよいし、可変でもよい。
図3は、実行時間管理表の一例を示した説明図である。図3において、実行時間管理表100は、トランザクション識別子101と、トランザクション実行回数(全体)102と、トランザクション実行時間合計(全体)103と、トランザクション実行回数(直近)104と、トランザクション実行時間合計(直近)105とを含む。
トランザクション識別子101は、トランザクションの種別を特定するための情報である。トランザクション実行回数(全体)102は、全実行回数の一例である。トランザクション実行時間合計(全体)103は、全合計時間の一例である。トランザクション実行回数(直近)104は、直近実行回数の一例である。トランザクション実行時間合計(直近)105は、直近合計時間の一例である。
図2に戻る。リクエスト受付情報管理表(以下、受付情報管理表と略す)では、処理要求が受け付けられた受付回数と、トランザクションの滞留数とが、処理要求に応じたトランザクションを実行可能なサーバアプリケーションを特定するサーバアプリケーション識別子ごとに対応付けられている。
受付回数には、サーバコンピュータ1が直近の所定時間内に処理要求を受け付けた回数である直近受付回数と、サーバコンピュータ1が直近の所定時間以前に処理要求を受け付けた回数の単位時間当たりの平均値である平均受付回数とがある。また、滞留数は、後述するキュー制御部13の待ち行列に滞留されている処理要求の数である。
なお、所定時間は、単位時間と同じでもよいし異なっていてもよいが、本実施形態では、所定時間は、単位時間と同じであるとし、所定時間を単位時間と称する
図4は、受付情報管理表の一例を示した説明図である。図4において、受付情報管理表200は、サーバアプリケーション識別子201と、単位時間当たりのリクエスト受付回数平均(全体)202と、リクエスト受付回数(直近)203と、キュー滞留リクエスト数204とを含む。
単位時間当たりのリクエスト受付回数平均(全体)202は、平均受付回数の一例である。リクエスト受付回数(直近)203は、直近受付回数の一例である。キュー滞留リクエスト数204は、滞留数の一例である。
図2に戻る。サーバアプリケーション状態管理表(以下、状態管理表と略す)では、トランザクション識別子と、サーバコンピュータ1がトランザクションの実行を開始した実行開始時刻とが、トランザクションを実行可能な処理単位を特定する処理識別子ごとに対応付けられている。なお、実行が終了したトランザクションの実行開始時刻は、クリアされている。
処理識別子は、トランザクションを実行可能なサーバアプリケーション識別子と、サーバアプリケーションの処理単位を特定する処理単位識別子とからなる。ここで、処理単位識別子は、サーバアプリケーションごとに一意に定められていればよい。
図5は、状態管理表の一例を示した説明図である。図5において、状態管理表300は、サーバアプリケーション識別子301と、処理単位識別子302と、トランザクション識別子303と、トランザクション開始時間304とを含む。
サーバアプリケーション識別子301は、サーバアプリケーションを特定する。処理単位識別子は、サーバアプリケーション識別子301の処理単位を特定する。トランザクション識別子303は、トランザクションの種別を特定する。トランザクション開始時間304は、トランザクションの実行開始時刻の一例である。
次に、演算装置1Bの各部について詳細に説明する。
リクエスト受付部12は、受付手段の一例である。リクエスト受付部12は、クライアント端末2からトランザクションの処理要求を受け付ける。トランザクションの処理要求は、実行を要求するトランザクションの種別を特定するトランザクション識別子を含む。
キュー制御部13は、滞留手段の一例である。キュー制御部13は、リクエスト受付部12が受け付けた処理要求を、キュー制御部13自身が保持している待ち行列に滞留する。このとき、キュー制御部13は、トランザクションの種別ごとに待ち行列を保持し、処理要求を、その処理要求に応じたトランザクションの種別の待ち行列に滞留する。
サーバアプリケーション部14は、実行手段の一例であり、サーバアプリケーションにて実現される。
サーバアプリケーション部14は、トランザクションを実行し、その実行結果に応じた応答情報をクライアント端末2に送信する。ここで、サーバアプリケーション部14は、トランザクションの種別ごとに、その種別のトランザクションを実行可能なサーバアプリケーションが有する処理単位の数だけ、トランザクションを同時に実行することが可能である。
トランザクション制御部15は、実行制御手段の一例である。トランザクション制御部15は、サーバアプリケーション部14によるトランザクションの実行を制御する。
具体的には、トランザクション制御部15は、サーバアプリケーション部14でトランザクションを実行中でない処理単位があるか否かを判断する。以下、トランザクションを実行中でない処理単位を、空きスレッドと称する。
トランザクション制御部15は、空きスレッドがあると、サーバアプリケーション部14にてトランザクションが新たに実行可能であると判断する。そして、トランザクション制御部15は、空きスレッドで実行可能なトランザクションの種別の待ち行列から処理要求を取得し、その取得した処理要求をサーバアプリケーション部14に渡す。サーバアプリケーション部14は、処理要求を受け付けると、その処理要求に応じたトランザクションを実行する。
これにより、サーバアプリケーション部14は、トランザクションを新たに実行することが可能になると、キュー制御部13の待ち行列に保持された処理要求に応じたトランザクションを実行することになる。
また、トランザクション制御部15は、サーバアプリケーション部14がトランザクションの実行を開始した時刻を実行開始時刻として計測する。
情報管理部16は、管理表記憶部11内の情報を管理する。
図6は、情報管理部16の構成例を示したブロック図である。図6において、情報管理部16は、リクエスト管理部161と、実行時間管理部162と、状態管理部163とを含む。
リクエスト管理部161は、管理表記憶部11内の受付情報管理表を管理する。具体的には、リクエスト管理部161は、以下の処理を行う。
リクエスト管理部161は、サーバアプリケーションを特定するサーバアプリケーション識別子と、そのサーバアプリケーションが実行可能なトランザクションの種別を特定するトランザクション識別子との対応関係を示した対応情報を保持する。
リクエスト管理部161は、その対応情報から、リクエスト受付部12が受け付けた処理要求内のトランザクション識別子に対応するサーバアプリケーション識別子を割り出す。そして、リクエスト管理部161は、リクエスト受付部12が処理要求を受け付けた受付回数と、キュー制御部13の待ち行列が保持している処理要求の滞留数とを、その割り出したサーバアプリケーション識別子ごとに計測する。ここで、リクエスト管理部161は、受付回数として、直近受付回数および平均受付回数を計測する。
リクエスト管理部161は、計測した受付回数および滞留数をそのアプリケーション識別子と対応付けて管理表記憶部11内の受付情報管理表に記憶する。
実行時間管理部162は、管理表記憶部11内の実行時間管理表を管理する。具体的には、実行時間管理部162は、以下の処理を行う。
実行時間管理部162は、サーバアプリケーション部14によるトランザクションの実行時間の合計時間と、そのトランザクションの実行回数とを、トランザクション識別子ごとに計測する。ここで、実行時間管理部162は、実行時間の合計時間として、全合計時間および直近合計時間を計測し、実行回数として、全実行回数および直近実行回数を計測する。
実行時間管理部162は、計測した実行時間の合計時間および実行回数を、そのトランザクション識別子と対応付けて管理表記憶部11内の実行時間管理表に記憶する。
状態管理部163は、管理表記憶部11内の実行時間管理表を管理する。具体的には、状態管理部163は、以下の処理を行う。
状態管理部163は、サーバアプリケーション部14がトランザクションの実行を開始すると、トランザクション制御部15が計測した実行開始時刻と、そのトランザクションの種別を特定するトランザクション識別子とを、そのトランザクションを実行した処理単位を特定する処理識別子に対応付けて、管理表記憶部11内の状態管理表に記憶する。
また、状態管理部163は、サーバアプリケーション部14がトランザクションの実行を終了すると、管理表記憶部11に記憶された状態管理表から、トランザクションの実行を終了した処理単位を特定する処理識別子に対応するトランザクション識別子および実行開始時刻をクリアする。
また、情報管理部16は、運用管理者から管理表記憶部11に記憶された各管理表をリセットする旨のリセット要求を受け付けると、管理表記憶部11内の管理表をリセット(削除)する。ここで、情報管理部16において、リクエスト管理部161が受付情報管理表をリセットし、実行時間管理部162が実行時間管理表をリセットし、状態管理部163が状態管理表をリセットする。なお、実行時間管理部162は、実行時間管理表の全体をリセットしてもよいし、運用管理者にて指定されたトランザクション識別子の行のみをリセットしてもよい。
また、管理者は、運用管理端末3を用いて情報管理部16にリセット要求を入力してもよいし、サーバコンピュータ1に直接接続されたキーボードなどの入力装置(図示せず)を用いて情報管理部16にリセット要求を入力してもよい。なお、運用管理者は、例えば、サーバコンピュータ1の稼動環境に変化があった場合に、リセット要求を入力する。これにより、新しい環境に即した遅延障害の原因の分析を行うことが可能になる。
障害分析部17は、分析手段の一例である。障害分析部17は、管理表記憶部11に記憶された各管理表に基づいて、トランザクションの遅延障害の原因を分析する。具体的には、障害分析部17は、トランザクションの遅延障害の原因が、トランザクションの実行時間の増加か、処理要求の増加によって生じたトランザクションの実行の滞留か、それとも、トランザクションのストールによって生じたトランザクションの実行の滞留かを分析する。
ここで、障害分析部17は、運用管理者からトランザクションの遅延障害の原因を分析する旨の分析要求を受け付けたときや、サーバコンピュータ1などに備わったトランザクションの遅延障害を検出する検出部(図示せず)にて遅延障害が検出され、その検出部から分析要求を受け付けたときなど、任意のタイミングで遅延障害を分析する。
なお、分析要求は、遅延障害の分析対象となるサーバアプリケーションを特定するサーバアプリケーション識別子を含む。以下、遅延障害の分析対象となるサーバアプリケーションを対象サーバアプリケーションと称し、対象サーバアプリケーションを特定するサーバアプリケーション識別子を対象サーバアプリケーション識別子と称することもある。また、対象サーバアプリケーションにて実行可能なトランザクションの種別を特定するトランザクション識別子を対象トランザクション識別子と称することもある。
また、障害分析部17は、対応情報を保持し、その対応情報から、分析要求内の対象サーバアプリケーションに対応する対象トランザクション識別子を割り出すことができる。
障害分析部17は、具体的には、以下のように遅延障害の原因を分析する。
先ず、障害分析部17は、管理表記憶部11内のリクエスト管理表において、分析要求内の対象サーバアプリケーション識別子に対応する滞留数が0以下か否かを確認する。
障害分析部17は、滞留数が0以下の場合、対象サーバアプリケーション識別子にて特定されるアプリケーションに空きスレッドがあるか否かを確認する。
障害分析部17は、空きスレッドがあると、トランザクションの遅延障害の原因が、トランザクションの実行時間の増加であると判断する。なお、障害分析部17は、空きスレッドの確認を行わず、滞留数が0以下であると、トランザクションの遅延障害の原因が、トランザクションの実行時間の増加であると判断してもよい。
このとき、情報管理部16が、例えば、トランザクションの開始時および終了時に、管理表記憶部11内の実行時間管理表にCPU使用時間などの追加情報が付加するなどしておき、障害分析部17が、トランザクションの実行時間の増加が、CPU使用時間の増加によって生じたものか、それとも、処理待ち時間の増加によって生じたものなのかなど、遅延障害の原因を絞り込んでもよい。
一方、障害分析部17は、滞留数が1以上の場合、または、滞留数が0以下であり、かつ、空きスレッドがない場合、以下の処理を行う。
具体的には、障害分析部17は、管理表記憶部11内の状態管理表において、対象サーバアプリケーション識別子に対応する実行開始時刻の中で、現在時刻までの時間が基準時間以上である実行開始時刻があるか否かを判断する。障害分析部17は、現在時刻までの時間が基準時間以上である実行開始時刻があると、トランザクションの遅延障害の原因が、その実行開始時刻に対応する処理識別子にて特定される処理単位におけるトランザクションのストールによって生じた、トランザクションの実行の滞留であると判断する。
ここで、基準時間は、運用管理者にて設定されてもよいし、障害分析部17が実行時間管理表に基づいて算出してもよい。例えば、障害分析部17は、全合計時間を全実行回数で除算して実行時間の平均値を算出し、その平均値を基準時間として算出する。
情報管理部16が、例えば、トランザクションの開始時および終了時に、状態管理表および実行時間管理表にCPU使用時間などの追加情報などを付加するなどしておき、障害分析部17が、トランザクションがストール状態である原因が、CPUループによって生じたものか、それとも、それ以外のバックエンドの処理待ち等によるものなのかなど、遅延障害の原因を絞り込んでもよい。
また、障害分析部17は、管理表記憶部11内の実行時間管理表において、対象トランザクション識別子に対応する直近合計時間を直近実行回数で除算して、サーバアプリケーション部14が直近の単位時間内に実行したトランザクションの実行時間の平均値である直近平均実行時間を算出する。また、障害分析部17は、対象トランザクション識別子に対応する全合計時間を全実行回数で除算して、サーバアプリケーション部14が直近の単位時間以前に実行したトランザクションの実行時間の平均値である全平均実行時間を算出する。
障害分析部17は、直近平均実行時間の全平均実行時間に対する増加度合を求め、その増加度合が設定値以上か否かを判断する。ここで、増加度合は、直近平均実行時間および全平均実行時間の差分または比率である。
障害分析部17は、その増加度合が設定値以上であると、トランザクション装置の遅延障害の原因が、トランザクションの実行時間の増加であると判断する。また、障害分析部17は、その結果、トランザクションの実行の滞留も発生していると判断する。
情報管理部16が、例えば、トランザクションの開始時および終了時に、実行時間管理表にCPU使用時間などの追加情報などを付加するなどしておき、障害分析部17が、トランザクションがストール状態である原因が、CPUループによって生じたものか、それとも、処理待ち時間の増加なのかなど、遅延障害の原因を絞り込んでもよい。
また、障害分析部17は、管理表記憶部11内の実行時間管理表において、対象トランザクション識別子に対応する直近受付回数の、対象トランザクション識別子に対応する平均受付回数に対する増加度合を算出する。ここで、増加度合は、直近受付回数および平均受付回数の差分または比率である。
障害分析部17は、その増加度合が基準値以上か否かを判断する。なお、基準値は、運用管理者にて設定されてもよいし、障害分析部17は、直近受付回数および全受付回数から求めてもよい。
障害分析部17は、その増加度合が基準値以上であると、トランザクションの遅延障害の原因が、処理要求の増加によって生じたトランザクションの実行の滞留であると判断する。
障害対応部18は、障害分析部17の分析結果に応じた、トランザクションの遅延障害に対する対処を行う。
例えば、障害対応部18は、障害分析部17にてトランザクションの遅延障害の原因がトランザクションの実行時間の増加であると判断されると、運用管理者への通知や、サーバアプリケーションの処理能力増強、追加の情報採取などを行う。
また、障害対応部18は、障害分析部17にてトランザクションの遅延障害の原因がトランザクションのストールによって生じたトランザクションの実行の滞留であると判断されると、サーバアプリケーションの同時処理可能数の追加、追加の情報採取およびストール状態のトランザクションの強制終了などを行なう。
また、障害対応部18は、障害分析部17にてトランザクションの遅延障害の原因が処理要求の増加によって生じたトランザクションの実行の滞留であると判断すると、サーバアプリケーションの同時処理可能数の追加、追加の情報採取を行う。また、障害対応部18は、待ち行列理論を利用して、最適なサーバアプリケーションの多重度(処理単位の数の上限および下限)を設定するなどしてもよい。
次に動作を説明する。
先ず、トランザクションの処理要求を受け付けた際のサーバコンピュータ1の動作を説明する。図7は、この動作を説明するためのシーケンス図である。
リクエスト受付部12は、クライアント端末2からトランザクションの処理要求を受け付けると、ステップS1を実行する。
ステップS1では、リクエスト受付部12は、処理要求内のトランザクション識別子と、処理要求を受け付けた旨の受付情報とを情報管理部16のリクエスト管理部161に出力する。
リクエスト管理部161は、トランザクション識別子および受付情報を受け付けると、保持している対応情報から、そのトランザクション識別子に対応するサーバアプリケーション識別子を割り出し、そのサーバアプリケーション識別子を管理表記憶部11内の受付情報管理表から検索する。
リクエスト管理部161は、そのサーバアプリケーション識別子を見つけると、そのサーバアプリケーション識別子に対応する直近受付回数をインクリメントする。また、リクエスト管理部161は、そのサーバアプリケーション識別子が見つからないと、そのサーバアプリケーションを有する受付情報管理表の行を生成する。このとき、リクエスト管理部161は、その行内の平均受付回数を0とし、直近受付回数を1とし、滞留数を0とする。
また、リクエスト管理部161は、単位時間ごとに、受付情報管理表の平均受付回数を更新する。例えば、リクエスト管理部161は、直近受付回数を平均受付回数に加算し、その加算結果を2で除算する。リクエスト管理部161は、その除算結果を新しい平均受付回数として計測し、受付情報管理表の平均受付回数を、その新しい平均受付回数に更新する。なお、リクエスト管理部161は、この処理をサーバアプリケーション識別子ごとに行う。
また、リクエスト受付部12は、トランザクション識別子および受付情報を出力すると、ステップS2を実行する。
ステップS2では、リクエスト受付部12は、処理要求をキュー制御部13に出力する。
キュー制御部13は、処理要求を受け付けると、その処理要求を、処理要求内のトランザクション識別子にて特定されるトランザクションの種別の待ち行列に滞留する。キュー制御部13は、処理要求を滞留すると、ステップS3を実行する。
ステップS3では、キュー制御部13は、処理要求内のトランザクション識別子と、処理要求を滞留した旨の滞留情報とを情報管理部16のリクエスト管理部161に出力する。
リクエスト管理部161は、トランザクション識別子および滞留情報を受け付けると、保持している対応情報から、そのトランザクション識別子に対応するサーバアプリケーション識別子を割り出し、そのサーバアプリケーション識別子を管理表記憶部11内の受付情報管理表から検索する。リクエスト管理部161は、その検索されたサーバアプリケーション識別子に対応する滞留数をインクリメントして、ステップS3を終了する。
また、トランザクション制御部15は、定期的にステップS4を実行する。
ステップS4では、トランザクション制御部15は、アプリケーション識別子ごとに、空きスレッドを確認する旨の確認要求を情報管理部16内の状態管理部163に出力する。確認要求は、そのアプリケーション識別子を含む。
状態管理部163は、確認要求を受け付けると、その確認要求内のアプリケーション識別子を管理表記憶部11内の状態管理表から全て検索する。状態管理部163は、その検索されたアプリケーション識別子に対応付けられた実行開始時刻の中で、クリアされた実行開始時刻があるか否かを確認する。状態管理部163は、クリアされた実行開始時刻があると、空きスレッドがあることを示す確認結果を生成し、クリアされた実行開始時刻がないと、空きスレッドがないことを示す確認結果を生成する。確認結果は、確認要求内のサーバアプリケーションを含む。
状態管理部163は、その確認結果をトランザクション制御部15に出力する。
トランザクション制御部15は、確認結果を受け付けると、その確認結果を確認する。トランザクション制御部15は、その確認結果が空きスレッドがあることを示すと、サーバアプリケーション部14にてトランザクションが新たに実行可能であると判断し、ステップS5を実行する。一方、トランザクション制御部15は、その確認結果が空きスレッドがないことを示すと、サーバアプリケーション部14にてトランザクションが新たに実行可能ではないと判断し、処理を終了する。
ステップS5では、トランザクション制御部15は、確認結果内のサーバアプリケーション識別子にて特定されるサーバプリケーションが実行可能な種別のトランザクションに応じた処理要求を、キュー制御部13の待ち行列から取得する。
例えば、トランザクション制御部15は、対応情報を保持し、対応情報から、確認結果内のサーバアプリケーション識別子に対応するトランザクション識別子を割り出す。そして、トランザクション制御部15は、そのトランザクション識別子にて特定されるトランザクションの種別の待ち行列から、その待ち行列内の処理要求を一つ取得する。
トランザクション制御部15は、処理要求を取得すると、ステップS6を実行する。
ステップS6では、トランザクション制御部15は、その処理要求内のトランザクション識別子と、滞留数が減少した旨の減少情報とを情報管理部16のリクエスト管理部161に出力する。
リクエスト管理部161は、トラザクション識別子および減少情報を受け付けると、保持している対応情報から、そのトランザクション識別子に対応するサーバアプリケーション識別子を割り出し、そのサーバアプリケーション識別子を管理表記憶部11内の受付情報管理表から検索する。リクエスト管理部161は、その検索されたサーバアプリケーション識別子に対応する滞留数をディクリメントする。
また、トランザクション制御部15は、トランザクション識別子および減少情報を出力すると、ステップS7を実行する。
ステップS7では、トランザクション制御部15は、処理要求をサーバアプリケーション部14に出力する。
サーバアプリケーション部14は、処理要求を受け付けると、その処理要求内のトランザクション識別子にて特定されるトランザクションを、そのトランザクションに対応するサーバアプリケーションの空きスレッドで実行する。
そして、サーバアプリケーション部14は、トランザクションの実行を開始した旨の開始情報をトランザクション制御部15に出力する。なお、開始情報は、実行を開始したトランザクションの種別を特定するトランザクション識別子と、そのトランザクションを実行したスレッドを特定する処理識別子(サーバアプリケーション識別子および処理単位識別子)とを含む。
トランザクション制御部15は、開始情報を受け付けると、ステップS8を実行する。
ステップS8では、トランザクション制御部15は、現在の時刻を実行開始時刻として計測し、その実行開始時刻と、開始情報内のトランザクション識別子および処理識別子を情報管理部16内の状態管理部163に出力する。
状態管理部163は、実行開始時刻、トランザクション識別子および処理識別子を受け付けると、その処理識別子を管理表記憶部11内の状態管理表から検索する。状態管理部163は、その処理識別子を見つけると、その処理識別子に、その実行開始時刻およびトランザクション識別子を対応付けて、管理表記憶部11に記憶して、ステップS8を終了する。
また、サーバアプリケーション部14は、ステップS7で実行を開始したトランザクションが終了すると、ステップS9を実行する。
ステップS9では、サーバアプリケーション部14は、トランザクションの実行を終了した旨の終了情報と、そのトランザクションに応じた応答情報をトランザクション制御部15に出力する。なお、終了情報は、トランザクションを実行していた処理単位を特定する処理識別子を含む。トランザクション制御部15は、終了情報および応答情報を受け付けると、ステップS10を実行する。
ステップS10では、トランザクション制御部15は、現在の時刻を実行終了時刻として計測し、その実行終了時刻と、終了情報内の処理識別子を情報管理部16内の実行時間管理部162に出力する。
実行時間管理部162は、実行終了時刻および処理識別子を受け付けると、実行開始時刻を取得する旨の取得要求を状態管理部163に出力する。なお、取得要求は、その処理識別子を含む。
状態管理部163は、取得要求を受け付けると、その取得要求内の処理識別子に対応するトランザクション識別子および実行開始時刻を、管理表記憶部11内の状態管理表から取得する。状態管理部163は、その取得したトランザクション識別子および実行開始時刻を実行時間管理部162に出力する。状態管理部163は、トランザクション識別子および実行開始時刻を出力すると、管理表記憶部11内の状態管理表から、その取得要求内の処理識別子に対応するトランザクション識別子および実行開始時刻をクリアする。
実行時間管理部162は、トランザクション識別子および実行開始時刻を受け付けると、その実行開始時刻から実行終了時刻までの時間を実行時間として計測する。
実行時間管理部162は、そのトランザクション識別子を管理表記憶部11内の実行時間管理表から検索する。
実行時間管理部162は、そのトランザクション識別子が見つかると、そのトランザクション識別子に対応する直近合計時間にその計測した実行時間を加算し、かつ、そのトランザクション識別子に対応する直近実行回数をインクリメントする。また、実行時間管理部162は、そのトランザクション識別子が見つからないと、そのトランザクション識別子を有する実行時間管理表の行を生成する。このとき、実行時間管理部162は、その行内の、全実行回数を0とし、全合計時間を0とし、直近実行回数を1とし、直近合計時間を、計測した実行時間とする。
また、実行時間管理部162は、単位時間ごとに、実行時間管理表の全合計時間および全実行回数を更新する。例えば、実行時間管理部162は、直近合計時間を全合計時間に加算し、直近実行回数を全実行回数に加算する。なお、実行時間管理部162は、この処理をトランザクション識別子ごとに行う。
また、トランザクション制御部15は、実行終了時刻および処理識別子を情報管理部16内の実行時間管理部162に出力すると、ステップS11を実行する。
ステップS11では、トランザクション制御部15は、ステップS9で受け付けた応答情報を、キュー制御部13を介してリクエスト受付部12に出力する。リクエスト受付部12は、応答情報を受け付けると、ステップS12を実行する。
ステップS12では、リクエスト受付部12は、応答情報をクライアント端末2に送信して、処理を終了する。
次に、トランザクションの遅延障害の原因を分析する際のサーバコンピュータ1の動作について説明する。図8は、この動作を説明するためのシーケンス図である。
ステップS101では、障害分析部17は、運用管理者などから分析要求を受け付ける。その後、ステップS102が実行される。
ステップS102では、障害分析部17は、管理表記憶部11内のリクエスト管理表から、分析要求内のサーバアプリケーション識別子を検索する。障害分析部17は、その検索されたサーバアプリケーション識別子に対応する滞留数が0以下か否かを確認する。障害分析は、その滞留数が0以下であると、ステップS103を実行し、その滞留数が1以上であると、ステップS105を実行する。
ステップS103では、障害分析部17は、管理表記憶部11内の状態管理表から、対象サーバアプリケーション識別子を全て検索し、その検索された対象サーバアプリケーション識別子に対応する実行開始時刻の中で、クリアされた実行開始時刻があるか否かを確認する。障害分析部17は、クリアされている実行開始時刻があると、空きスレッドがあると判断し、クリアされている実行開始時刻がないと、空きスレッドがないと判断する。
障害分析部17は、空きスレッドがあると、ステップS104を実行し、空きスレッドがないと、ステップS105を実行する。なお、ステップS103は、スキップされてもよい。
ステップS104では、障害分析部17は、トランザクションの遅延障害の原因が、トランザクションの実行時間の増加であると判断し、その判断結果を遅延障害の原因の分析結果として障害対応部18に出力する。障害対応部18は、分析結果を受け付けると、ステップS111を実行する。なお、分析結果は、対象サーバアプリケーション識別子を含む。
また、ステップS105では、障害分析部17は、管理表記憶部11内の状態管理表から、対象サーバアプリケーション識別子に対応する実行開始時刻を全て取得する。障害分析部17は、実行開始時刻ごとに、現在時刻から実行開始時刻を減算して実行中時間を算出する。障害分析部17は、その実行中時間の中で、基準時間以上の実行中時間があるか否かを判断する。障害分析部17は、基準時間以上の実行中時間があると、ステップS106を実行し、基準時間以上の実行中時間がないと、ステップS107を実行する。
ステップS106では、障害分析部17は、トランザクションの遅延障害の原因が、トランザクションのストールによって生じたトランザクションの実行の滞留であると判断し、その判断結果を遅延障害の原因の分析結果として障害対応部18に出力する。障害対応部18は、分析結果を受け付けると、ステップS111を実行する。
また、ステップS107では、障害分析部17は、保持している対応情報から、対象アプリケーション識別子に対応する対象トランザクション識別子を割り出し、その対象トランザクション識別子に対応する、全合計時間、全実行回数、直近合計時間および直近実行回数を管理表記憶部11内の実行時間管理表から取得する。
障害分析部17は、全合計時間を全実行回数で除算して全平均実行時間を算出し、また、直近合計時間を直近実行回数で除算して直近平均実行時間を算出する。障害分析部17は、直近平均実行時間の全平均実行時間に対する増加度合を算出する。例えば、障害分析部17は、直近平均実行時間および全平均実行時間の比率または差分を増加度合として算出する。
そして、障害分析部17は、増加度合が設定値以上か否かを判断する。障害分析部17は、増加度合が設定値以上であると、ステップS108を実行し、増加度合が設定値未満であると、ステップS109を実行する。
ステップS108では、障害分析部17は、トランザクションの遅延障害の原因が、トランザクションの実行時間の増加であり、その結果、トランザクションの実行の滞留も発生していると判断する。障害分析部17は、その判断結果を遅延障害の原因の分析結果として障害対応部18に出力する。障害対応部18は、分析結果を受け付けると、ステップS111を実行する。
ステップS109では、障害分析部17は、管理表記憶部11から対象サーバアプリケーション識別子に対応する直近受付回数および平均受付回数を取得し、その直近受付回数の平均受付回数に対する増加度合を算出する。例えば、障害分析部17は、直近受付回数および平均受付回数の比率または差分を増加度合として算出する。
障害分析部17は、その増加度合が基準値以上か否かを判断する。障害分析部17は、その増加度合が基準値以上であると、ステップS110を実行し、その増加度合が基準値未満であると、処理を終了する。
ステップS111では、障害分析部17は、トランザクションの遅延障害の原因が、処理要求の増加によって生じたトランザクションの実行の滞留であると判断し、その判断結果を遅延障害の原因の分析結果として障害対応部18に出力する。障害分析結果を受け付けると、ステップS111を実行する。
ステップS111では、障害対応部18は、障害分析部17の分析結果に応じた、トランザクションの遅延障害に対する対処を行う。
例えば、障害対応部18は、分析結果がトランザクションの実行時間の増加を示すと、運用管理者への通知や、サーバアプリケーションの処理能力増強、追加の情報採取などを行う。
また、障害対応部18は、分析結果がトランザクションのストールによって生じたトランザクションの実行の滞留を示すと、サーバアプリケーションの同時処理可能数の追加、追加の情報採取およびストール状態のトランザクションの強制終了などを行なう。
また、障害対応部18は、分析結果が処理要求の増加によって生じたトランザクションの実行の滞留を示すと、サーバアプリケーションの同時処理可能数の追加、追加の情報採取を行う。また、障害対応部18は、待ち行列理論を利用して、最適なサーバアプリケーションの多重度(処理単位の数の上限および下限)を設定するなどしてもよい。
なお、本実施形態において、サーバコンピュータ1は、複数のコンピュータにて構成されていてもよい。例えば、障害分析部17がサーバコンピュータ1に接続された他のコンピュータにて構成され、障害分析装置として動作し、遅延障害の分析結果をサーバコンピュータ1の障害対応部18に通知してもよい。同様に、他の各部(障害対応部18など)も他のコンピュータにて構成されていてもよい。
次に効果を説明する。
本実施形態によれば、トランザクション制御部15は、サーバアプリケーション部14がトランザクションの実行を開始した実行開始時刻を計測する。リクエスト管理部161は、キュー制御部13の待ち行列に滞留されている処理要求の滞留数を計測する。管理表記憶部11は、実行開始時刻および滞留数を記憶する。障害分析部17は、管理表記憶部11に記憶された情報に基づいて、トランザクションの遅延障害の原因が、トランザクションの実行時間の増加か、それとも、トランザクションの実行の滞留かを分析する。
この場合、トランザクションの遅延障害の原因が、実行開始時刻および滞留数に基づいて、トランザクションの実行時間の増加か、それとも、トランザクションの実行の滞留かが分析される。
このため、遅延障害の原因を分析することが可能になる。
また、本実施形態では、状態管理部163は、サーバアプリケーション部14がトランザクションの実行を終了すると、管理表記憶部11に記憶された実行開始時刻をクリアする。障害分析部17は、滞留数が1以上であり、かつ、管理表記憶部11の中に現在時刻までの時間が基準時間以上となる実行開始時刻があると、トランザクションの遅延障害の原因が、トランザクションのストールによって生じたトランザクションの実行の滞留であると判断する。
この場合、トランザクションの実行の滞留の原因を分析することが可能になり、より詳細な遅延障害の分析が可能になる。
また、本実施形態では、滞留数が1以上であり、かつ、管理表記憶部11の中に現在時刻までの時間が基準時間以上となる実行開始時刻があると、トランザクションの遅延障害の原因が、その実行開始時刻に対応する処理識別子にて特定される処理単位におけるトランザクションのストールによって生じた、トランザクションの実行の滞留であると判断する。
この場合、トランザクションのストールが発生した処理単位まで、トランザクションの遅延障害の原因を分析することが可能になり、より詳細な遅延障害の分析が可能になる。
また、本実施形態では、リクエスト管理部161は、直近受付回数と平均受付回数とを計測する。障害分析部17は、滞留数が1以上であり、かつ、直近受付回数の平均値受付回数に対する増加度合が基準値以上であると、トランザクション装置の遅延障害の原因が、処理要求の増加によって生じたトランザクションの実行の滞留であると判断する。
この場合、トランザクションの実行の滞留の原因を分析することが可能になり、より詳細な遅延障害の分析が可能になる。
実行時間管理部162は、直近合計時間、全合計時間、直近実行回数および全実行回数を計測する。障害分析部17は、直近合計時間を直近実行回数で除算して、直近平均実行時間を算出する。また、障害分析部17は、全合計時間を全実行回数で除算して全平均実行時間を算出する。障害分析部17は、滞留数が1以上であり、直近平均実行時間の全平均実行時間に対する増加度合が設定値以上であると、トランザクションの遅延障害の原因が、実行時間の増加であり、その結果、トランザクションの実行の滞留も発生していると判断する。
この場合、トランザクションの実行時間の増加と、その結果発生するトランザクションの実行の滞留も分析することが可能になり、より詳細な遅延障害の分析が可能になる。
また、本実施形態では、障害分析部17は、その滞留数が0であると、トランザクションの原因が実行時間の増加であると判断する。
この場合、トランザクションを構成する処理ごとに閾値を設けなくても、トランザクションの原因が実行時間の増加であることを分析することが可能になる。
また、本実施形態では、障害分析部17は、リセット要求を受け付けると、管理表記憶部11に記憶された情報をリセットする。
この場合、例えば、運用管理者がサーバコンピュータ1の稼動環境に変化があった場合にリセット要求を入力すれば、新しい環境に即した遅延障害の原因の分析を行うことが可能になる。
また、本実施形態では、障害分析手段は、分析要求を受け付けると、トランザクションの遅延障害の原因を分析する。
この場合、任意のタイミングでトランザクションの遅延障害の原因を分析することが可能になる。
また、本実施形態では、障害対応部18は、障害分析部17の分析結果に応じて、遅延障害に対する対処を行う。
この場合、遅延障害の運用管理者への通知や、遅延障害の復旧などを行うことが可能になる。
次に第二の実施形態について説明する。本実施形態では、本発明によるサーバコンピュータ1(トランザクション装置)の最も簡単な構成例について説明する。なお、サーバコンピュータは、サーバアプリケーションを一つだけ有し、トランザクションの種別も一つであるとする。また、サーバコンピュータ1は、サーバアプリケーションを一つだけ有するものとする。
図9は、本実施形態のサーバコンピュータ1の構成を示したブロック図である。なお、図9において、図2と同じ機能を有する構成には、同じ符号が付してある。
図9において、サーバコンピュータ1は、管理表記憶部11と、リクエスト受付部12と、キュー制御部13と、サーバアプリケーション部14と、トランザクション制御部15と、リクエスト管理部161と、障害分析部17とを含む。
リクエスト受付部12は、トランザクションの処理要求を受け付ける。
キュー制御部13は、リクエスト受付部12が受け付けた処理要求を待ち行列に保持する。
サーバアプリケーション部14は、トランザクションを新たに実行することが可能になると、キュー制御部13の待ち行列に保持された処理要求に応じたトランザクションを実行する。
トランザクション制御部15は、サーバアプリケーション部14がトランザクションの実行を開始した時刻を実行開始時刻として計測し、その実行開始時刻を管理表記憶部11に記憶する。
リクエスト管理部161は、キュー制御部13の待ち行列が保持している処理要求の滞留数を計測し、その滞留数を管理表記憶部11に記憶する。
障害分析部17は、管理表記憶部11に記憶された実行開始時刻および滞留数に基づいて、トランザクションの遅延障害の原因が、トランザクションの実行時間の増加か、トランザクションの実行の滞留か、それとも、トランザクションの実行の滞留かを分析する。
例えば、障害分析部17は、滞留数が0未満であると、トランザクションの遅延障害の原因が、トランザクションの実行時間の増加と判断する。また、障害分析部17は、滞留数が1以上であり、かつ、管理表記憶部11の中に現在時刻までの時間が基準時間以上となる実行開始時刻が記憶されていると、トランザクションの遅延障害の原因が、トランザクションの実行の滞留と判断する。
次に効果を説明する。
本実施形態でも、トランザクション制御部15は、サーバアプリケーション部14がトランザクションの実行を開始した実行開始時刻を計測する。リクエスト管理部161は、キュー制御部13の待ち行列に滞留されている処理要求の滞留数を計測する。管理表記憶部11は、実行開始時刻および滞留数を記憶する。障害分析部17は、管理表記憶部11に記憶された情報に基づいて、トランザクションの遅延障害の原因が、トランザクションの実行時間の増加か、それとも、トランザクションの実行の滞留かを分析する。
したがって、本実施形態でも、遅延障害の原因を分析することが可能になる。
以上説明した各実施形態において、図示した構成は単なる一例であって、本発明はその構成に限定されるものではない。
第一の実施形態のトランザクションシステムを示したブロック図である。 第一の実施形態のサーバコンピュータの構成を示したブロック図である。 トランザクション実行時間管理表の一例を示した説明図である。 リクエスト受付情報管理表の一例を示した説明図である。 サーバアプリケーション状態管理表の一例を示した説明図である。 情報管理部の構成例を示したブロック図である。 トランザクションの処理要求を受け付けた際のサーバコンピュータ1の動作を説明するためのシーケンス図である。 トランザクションの遅延障害の原因を分析する際のサーバコンピュータ1の動作を説明するためのシーケンス図である。 第二の実施形態のサーバコンピュータの構成を示したブロック図である。
符号の説明
1 サーバコンピュータ(トランザクション装置)
2 クライアント端末
3 運用管理端末
11 管理表記憶部
12 リクエスト受付部
13 キュー制御部
14 サーバアプリケーション部
15 トランザクション制御部
16 情報管理部
17 障害分析部
18 障害対応部

Claims (17)

  1. トランザクションの処理要求を受け付ける受付手段と、
    前記受付手段が受け付けた処理要求を待ち行列に滞留する滞留手段と、
    前記トランザクションを新たに実行することが可能になると、前記滞留手段の待ち行列に保持された処理要求に応じたトランザクションを実行する実行手段と、
    前記実行手段が前記トランザクションの実行を開始した実行開始時刻を計測する実行制御手段と、
    前記滞留手段の待ち行列に滞留されている処理要求の滞留数と、前記受付手段が直近の所定時間内に前記処理要求を受け付けた直近受付回数と、前記受付手段が前記直近の所定時間以前に前記処理要求を受け付けた全受付回数の前記所定時間当たりの平均値と、を計測するリクエスト管理手段と、
    前記実行制御手段が計測した実行開始時刻と、前記リクエスト管理手段が計測した滞留数、直近受付回数および平均値とを記憶する情報記憶手段と、
    前記情報記憶手段に記憶された情報に基づいて、前記トランザクションの遅延障害の原因が、前記トランザクションの実行時間の増加か、前記処理要求の増加か、それとも、前記トランザクションのストールかを分析する分析手段と、を含み、
    前記分析手段は、前記滞留数が1以上であり、かつ、前記直近受付回数の前記平均値に対する増加度合が基準値以上であると、前記トランザクションの遅延障害の原因が、前記処理要求の増加であると判断する、トランザクション装置。
  2. トランザクションの処理要求を受け付ける受付手段と、
    前記受付手段が受け付けた処理要求を待ち行列に滞留する滞留手段と、
    前記トランザクションを新たに実行することが可能になると、前記滞留手段の待ち行列に保持された処理要求に応じたトランザクションを実行する実行手段と、
    前記実行手段が前記トランザクションの実行を開始した実行開始時刻を計測する実行制御手段と、
    前記滞留手段の待ち行列に滞留されている処理要求の滞留数を計測するリクエスト管理手段と、
    前記実行手段によるトランザクションの実行時間の直近の単位時間内の直近合計時間と、前記実行手段によるトランザクションの実行時間の前記直近の単位時間以前の全合計時間とを計測し、また、前記実行手段が前記直近の単位時間内に前記トランザクションを実行した直近実行回数と、前記実行手段が前記直近の単位時間以前に前記トランザクションを実行した全実行回数とを計測する実行管理手段と、
    前記実行制御手段が計測した実行開始時刻と、前記リクエスト管理手段が計測した滞留数と、前記実行管理手段が計測した直近合計時間、全合計時間、直近実行回数および全実行回数と、を記憶する情報記憶手段と、
    前記情報記憶手段に記憶された情報に基づいて、前記トランザクションの遅延障害の原因が、前記トランザクションの実行時間の増加か、前記処理要求の増加か、それとも、前記トランザクションのストールかを分析する分析手段と、を含み、
    前記分析手段は、前記直近合計時間を前記直近実行回数で除算して、直近平均実行時間を算出し、また、前記全合計時間を前記全実行回数で除算して、全平均実行時間を算出し、前記滞留数が1以上であり、かつ、前記直近平均実行時間の前記全平均実行時間に対する増加度合が設定値以上であると、前記トランザクションの遅延障害の原因が、前記実行時間の増加であると判断する、トランザクション装置。
  3. 請求項1または2に記載のトランザクション装置において、
    前記実行手段が前記トランザクションの実行を終了すると、前記情報記憶手段に記憶された実行開始時刻をクリアする状態管理手段を含み、
    前記分析手段は、前記滞留数が1以上であり、かつ、前記情報記憶手段の中に現在時刻までの時間が基準時間以上となる実行開始時刻が記憶されていると、前記トランザクションの遅延障害の原因が、前記トランザクションのストールであると判断する、トランザクション装置。
  4. 請求項に記載のトランザクション装置において、
    前記実行手段は、複数の処理単位を有し、前記複数の処理単位のそれぞれが前記トランザクションを実行し、
    前記状態管理手段は、前記実行制御手段が計測したトランザクションの実行開始時刻を、該トランザクションの実行を開始した処理単位を特定する処理識別子と対応付けて前記情報記憶手段に記憶し、
    前記分析手段は、前記現在時刻までの時間が前記基準時間以上である実行開始時刻があると、前記トランザクションの遅延障害の原因が、該実行開始時刻に対応する処理識別子にて特定される処理単位における前記トランザクションのストールであると判断する、トランザクション装置。
  5. 請求項1ないしのいずれか1項に記載のトランザクション装置において、
    前記分析手段は、前記滞留数が0であると、前記トランザクションの遅延障害の原因が、前記実行時間の増加であると判断する、トランザクション装置。
  6. 請求項1ないしのいずれか1項に記載のトランザクション装置において、
    前記分析手段は、前記情報記憶手段に対するリセット要求を受け付けると、前記情報記憶手段に記憶された情報をリセットする、トランザクション装置。
  7. 請求項1ないしのいずれか1項に記載のトランザクション装置において、
    前記分析手段は、前記遅延障害の原因を分析する旨の分析要求を受け付けると、前記トランザクションの遅延障害の原因を分析する、トランザクション装置。
  8. 請求項1ないしのいずれか1項に記載のトランザクション装置において、
    前記分析手段の分析結果に応じて、前記遅延障害に対する対処を行なう障害対応手段を含む、トランザクション装置。
  9. トランザクションの処理要求を受け付け、該処理要求を待ち行列に滞留し、前記トランザクションが新たに実行可能になると、前記待ち行列に保持された処理要求に応じたトランザクションを実行するトランザクション装置において前記トランザクションの遅延障害の原因を分析する遅延障害分析装置であって、
    前記トランザクション装置が前記トランザクションの実行を開始した実行開始時刻を計測する実行制御手段と、
    前記トランザクション装置の待ち行列に滞留されている処理要求の滞留数と、前記トランザクション装置が直近の所定時間内に前記処理要求を受け付けた直近受付回数と、前記トランザクション装置が前記直近の所定時間以前に前記処理要求を受け付けた全受付回数の前記所定時間当たりの平均値と、を計測するリクエスト管理手段と、
    前記実行制御手段が計測した実行開始時刻と、前記リクエスト管理手段が計測した滞留数、直近受付回数および平均値と、を記憶する情報記憶手段と、
    前記情報記憶手段に記憶された情報に基づいて、前記トランザクションの遅延障害の原因が、前記トランザクションの実行時間の増加か、前記処理要求の増加か、それとも、前記トランザクションのストールかを分析する分析手段と、を含み、
    前記分析手段は、前記滞留数が1以上であり、かつ、前記直近受付回数の前記平均値に対する増加度合が基準値以上であると、前記トランザクションの遅延障害の原因が、前記処理要求の増加であると判断する、遅延障害分析装置。
  10. トランザクションの処理要求を受け付け、該処理要求を待ち行列に滞留し、前記トランザクションが新たに実行可能になると、前記待ち行列に保持された処理要求に応じたトランザクションを実行するトランザクション装置において前記トランザクションの遅延障害の原因を分析する遅延障害分析装置であって、
    前記トランザクション装置が前記トランザクションの実行を開始した実行開始時刻を計測する実行制御手段と、
    前記トランザクション装置の待ち行列に滞留されている処理要求の滞留数を計測するリクエスト管理手段と、
    前記トランザクション装置によるトランザクションの実行時間の直近の単位時間内の直近合計時間と、前記トランザクション装置によるトランザクションの実行時間の前記直近の単位時間以前の全合計時間とを計測し、また、前記実行手段が前記直近の単位時間内に前記トランザクションを実行した直近実行回数と、前記トランザクション装置が前記直近の単位時間以前に前記トランザクションを実行した全実行回数とを計測する実行管理手段と、
    前記実行制御手段が計測した実行開始時刻と、前記リクエスト管理手段が計測した滞留数と、前記実行管理手段が計測した直近合計時間、全合計時間、直近実行回数および全実行回数とを記憶する情報記憶手段と、
    前記情報記憶手段に記憶された情報に基づいて、前記トランザクションの遅延障害の原因が、前記トランザクションの実行時間の増加か、前記処理要求の増加か、それとも、前記トランザクションのストールかを分析する分析手段と、を含み、
    前記分析手段は、前記直近合計時間を前記直近実行回数で除算して、直近平均実行時間を算出し、また、前記全合計時間を前記全実行回数で除算して、全平均実行時間を算出し、前記滞留数が1以上であり、かつ、前記直近平均実行時間の前記全平均実行時間に対する増加度合が設定値以上であると、前記トランザクションの遅延障害の原因が、前記実行時間の増加であると判断する、遅延障害分析装置。
  11. 請求項10に記載の遅延障害分析装置において、
    前記トランザクション装置が前記トランザクションの実行を終了すると、前記情報記憶手段に記憶された実行開始時刻をクリアする状態管理手段を含み、
    前記分析手段は、前記滞留数が1以上であり、かつ、前記情報記憶手段の中に現在時刻までの時間が基準時間以上となる実行開始時刻が記憶されていると、前記トランザクションの遅延障害の原因が、前記トランザクションのストールであると判断する、遅延障害分析装置。
  12. トランザクションの処理要求を受け付け、
    前記受け付けられた処理要求を待ち行列に滞留し、
    前記トランザクションを新たに実行することが可能になると、前記待ち行列に保持された処理要求に応じたトランザクションを実行し、
    前記トランザクションの実行が開始された実行開始時刻を計測し、
    前記待ち行列に滞留されている処理要求の滞留数を計測し、
    直近の所定時間内に前記処理要求を受け付けた直近受付回数を計測し、
    前記直近の所定時間以前に前記処理要求を受け付けた全受付回数の前記所定時間当たりの平均値を計測し、
    前記計測された実行開始時刻滞留数、直近受付回数および平均値を記憶し、
    前記記憶された情報に基づいて、前記トランザクションの遅延障害の原因が、前記トランザクションの実行時間の増加か、前記処理要求の増加か、それとも、前記トランザクションのストールかを分析し、
    前記分析では、前記滞留数が1以上であり、かつ、前記直近受付回数の前記平均値に対する増加度合が基準値以上であると、前記トランザクションの遅延障害の原因が、前記処理要求の増加であると判断する、遅延障害分析方法。
  13. トランザクションの処理要求を受け付け、
    前記受け付けられた処理要求を待ち行列に滞留し、
    前記トランザクションを新たに実行することが可能になると、前記待ち行列に保持された処理要求に応じたトランザクションを実行し、
    前記トランザクションの実行が開始された実行開始時刻を計測し、
    前記待ち行列に滞留されている処理要求の滞留数を計測し、
    前記トランザクションの実行時間の直近の単位時間内の直近合計時間を計測し、
    前記トランザクションの実行時間の前記直近の単位時間以前の全合計時間を計測し、
    前記直近の単位時間内に前記トランザクションを実行した直近実行回数を計測し、
    前記直近の単位時間以前に前記トランザクションを実行した全実行回数を計測し、
    前記計測された実行開始時刻滞留数、近合計時間、全合計時間、直近実行回数および全実行回数を記憶し、
    前記記憶された情報に基づいて、前記トランザクションの遅延障害の原因が、前記トランザクションの実行時間の増加か、前記処理要求の増加か、それとも、前記トランザクションのストールかを分析し、
    前記分析は、前記直近合計時間を前記直近実行回数で除算して、直近平均実行時間を算出し、また、前記全合計時間を前記全実行回数で除算して、全平均実行時間を算出し、前記滞留数が1以上であり、かつ、前記直近平均実行時間の前記全平均実行時間に対する増加度合が設定値以上であると、前記トランザクションの遅延障害の原因が、前記実行時間の増加であると判断する、遅延障害分析方法。
  14. 請求項1に記載の遅延障害分析方法において、
    前記トランザクションの実行が終了されると、前記記憶された前記実行開始時刻をクリアし、
    前記滞留数が1以上であり、かつ、現在時刻までの時間が基準時間以上となる実行開始時刻が記憶されていると、前記トランザクションの遅延障害の原因が、前記トランザクションのストールであると判断する、遅延障害分析方法。
  15. トランザクションの遅延障害の分析をコンピュータに実行させるプログラムであって、
    トランザクションの処理要求を受け付ける手順と、
    前記受け付けられた処理要求を待ち行列に滞留する手順と、
    前記トランザクションを新たに実行することが可能になると、前記待ち行列に保持された処理要求に応じたトランザクションを実行する手順と、
    前記トランザクションの実行が開始された実行開始時刻を計測する手順と、
    前記待ち行列に滞留されている処理要求の滞留数を計測する手順と、
    直近の所定時間内に前記処理要求を受け付けた直近受付回数を計測する手順と、
    前記直近の所定時間以前に前記処理要求を受け付けた全受付回数の前記所定時間当たりの平均値を計測する手順と、
    前記計測された実行開始時刻滞留数、近合計時間、全合計時間、直近実行回数および全実行回数を記憶する手順と、
    前記記憶された情報に基づいて、前記トランザクションの遅延障害の原因が、前記トランザクションの実行時間の増加か、前記処理要求の増加か、それとも、前記トランザクションのストールかを分析する手順と、を前記コンピュータに実行させ、
    前記分析する手順では、前記滞留数が1以上であり、かつ、前記直近受付回数の前記平均値に対する増加度合が基準値以上であると、前記トランザクションの遅延障害の原因が、前記処理要求の増加であると判断する、プログラム。
  16. トランザクションの遅延障害の分析をコンピュータに実行させるプログラムであって、
    トランザクションの処理要求を受け付ける手順と、
    前記受け付けられた処理要求を待ち行列に滞留する手順と、
    前記トランザクションを新たに実行することが可能になると、前記待ち行列に保持された処理要求に応じたトランザクションを実行する手順と、
    前記トランザクションの実行が開始された実行開始時刻を計測する手順と、
    前記待ち行列に滞留されている処理要求の滞留数を計測する手順と、
    前記トランザクションの実行時間の直近の単位時間内の直近合計時間を計測する手順と、
    前記トランザクションの実行時間の前記直近の単位時間以前の全合計時間を計測する手順と、
    前記直近の単位時間内に前記トランザクションを実行した直近実行回数を計測する手順と、
    前記直近の単位時間以前に前記トランザクションを実行した全実行回数を計測する手順と、
    前記計測された実行開始時刻滞留数、近合計時間、全合計時間、直近実行回数および全実行回数を記憶する手順と、
    前記記憶された情報に基づいて、前記トランザクションの遅延障害の原因が、前記トランザクションの実行時間の増加か、前記処理要求の増加か、それとも、前記トランザクションのストールかを分析する手順と、を前記コンピュータに実行させ、
    前記分析する手順では、前記直近合計時間を前記直近実行回数で除算して、直近平均実行時間を算出し、また、前記全合計時間を前記全実行回数で除算して、全平均実行時間を算出し、前記滞留数が1以上であり、かつ、前記直近平均実行時間の前記全平均実行時間に対する増加度合が設定値以上であると、前記トランザクションの遅延障害の原因が、前記実行時間の増加であると判断する、プログラム。
  17. 請求項16に記載のプログラムにおいて、
    前記コンピュータに、前記トランザクションの実行が終了されると、前記記憶された実行開始時刻をクリアする手順をさらに実行させ、
    前記分析する手順では、前記滞留数が1以上であり、かつ、現在時刻までの時間が基準時間以上となる実行開始時刻が記憶されていると、前記トランザクションの遅延障害の原因が、前記トランザクションのストールであると判断する、プログラム。
JP2008030519A 2008-02-12 2008-02-12 トランザクション装置、遅延障害分析装置、遅延障害分析方法およびプログラム Expired - Fee Related JP4983636B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008030519A JP4983636B2 (ja) 2008-02-12 2008-02-12 トランザクション装置、遅延障害分析装置、遅延障害分析方法およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008030519A JP4983636B2 (ja) 2008-02-12 2008-02-12 トランザクション装置、遅延障害分析装置、遅延障害分析方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2009193128A JP2009193128A (ja) 2009-08-27
JP4983636B2 true JP4983636B2 (ja) 2012-07-25

Family

ID=41075110

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008030519A Expired - Fee Related JP4983636B2 (ja) 2008-02-12 2008-02-12 トランザクション装置、遅延障害分析装置、遅延障害分析方法およびプログラム

Country Status (1)

Country Link
JP (1) JP4983636B2 (ja)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6243761A (ja) * 1985-08-21 1987-02-25 Nec Corp オンラインメツセ−ジ処理システムにおける稼動状態監視方式
JPS649544A (en) * 1987-07-02 1989-01-12 Fujitsu Ltd Enq resource monitoring system
JPH01191950A (ja) * 1988-01-28 1989-08-02 Nec Corp トランザクシヨン処理能力オーバフロー検出方式
JPH01258046A (ja) * 1988-04-06 1989-10-16 Fujitsu Ltd 検出テーブルによる処理遅延検出方式
JP2882859B2 (ja) * 1990-07-13 1999-04-12 日本電信電話株式会社 オンライン中イベント処理時間分析方式
JP3537356B2 (ja) * 1998-12-09 2004-06-14 株式会社日立製作所 ジョブシステムにおける遅延要因解析方法

Also Published As

Publication number Publication date
JP2009193128A (ja) 2009-08-27

Similar Documents

Publication Publication Date Title
US7568028B2 (en) Bottleneck detection system, measurement object server, bottleneck detection method and program
CN101510167B (zh) 一种插件运行的方法、装置及系统
JP4466615B2 (ja) 運用管理システム、監視装置、被監視装置、運用管理方法及びプログラム
EP2685380A1 (en) Operations management unit, operations management method, and program
US10924538B2 (en) Systems and methods of monitoring software application processes
US10481952B2 (en) Non-transitory computer-readable medium, system, and information processing method
US9331912B2 (en) Violation sign condition setting supporting system, violation sign condition setting supporting method, and violation sign condition setting supporting program
JP4449929B2 (ja) トランザクション装置、遅延障害検出装置及び方法、並びにプログラム
JP4983636B2 (ja) トランザクション装置、遅延障害分析装置、遅延障害分析方法およびプログラム
CN110825593B (zh) 一种进程的异常状态检测方法、装置、设备及存储介质
CN113094243B (zh) 节点性能检测方法和装置
JP6064571B2 (ja) 処理プログラム、処理方法および処理装置
JP2001331348A (ja) プロセスメモリ消費量増加傾向検出方式
JP6269199B2 (ja) 管理サーバおよび障害復旧方法、並びにコンピュータ・プログラム
CN108920264B (zh) 一种命令超时处理方法及系统
JP4978504B2 (ja) 情報処理装置、通信情報採取方法、及び、プログラム
JP5821471B2 (ja) 情報処理装置、プロセス監視方法、プロセス監視プログラム、記録媒体
JP4453823B2 (ja) 性能ボトルネック解析システム及び性能ボトルネック解析方法
JP4909830B2 (ja) サーバアプリケーション監視システム及び監視方法
US11271839B2 (en) Dynamic asynchronous communication management
JP2010244180A (ja) プロセス間通信管理システム、プロセス間通信管理方法、プロセス間通信通信管理プログラム
JP5743334B2 (ja) 輻輳制御装置
JP4968092B2 (ja) ストール検出装置、ストール検出方法、及びストール検出プログラム
JP6706589B2 (ja) 監視装置、監視方法およびプログラム
JP2011107862A (ja) 最大スループット評価システム、評価装置、評価方法、及び評価プログラム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101207

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110831

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111024

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111115

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120327

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120409

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4983636

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150511

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees