JP4449929B2 - トランザクション装置、遅延障害検出装置及び方法、並びにプログラム - Google Patents

トランザクション装置、遅延障害検出装置及び方法、並びにプログラム Download PDF

Info

Publication number
JP4449929B2
JP4449929B2 JP2006072970A JP2006072970A JP4449929B2 JP 4449929 B2 JP4449929 B2 JP 4449929B2 JP 2006072970 A JP2006072970 A JP 2006072970A JP 2006072970 A JP2006072970 A JP 2006072970A JP 4449929 B2 JP4449929 B2 JP 4449929B2
Authority
JP
Japan
Prior art keywords
transaction
value
execution time
average
executions
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.)
Active
Application number
JP2006072970A
Other languages
English (en)
Other versions
JP2007249663A (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 JP2006072970A priority Critical patent/JP4449929B2/ja
Publication of JP2007249663A publication Critical patent/JP2007249663A/ja
Application granted granted Critical
Publication of JP4449929B2 publication Critical patent/JP4449929B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、トランザクション装置に関し、特に、トランザクションの処理遅延を検出するトランザクション装置に関する。
トランザクション処理は、いわゆるオンラインリアルタイム処理であり、与えられた情報を即時に処理し、その結果を必要な場所で受け取ることを可能にするコンピュータシステムである。そして、処理を要求する側をクライアント、要求された処理を実行して結果を返す側をサーバと呼び、一般的には、端末装置側にクライアントアプリケーション(クライアントアプリケーションプログラムの略)が設けられ、端末装置と通信回線を介して接続されたホストコンピュータ側にサーバアプリケーション(サーバアプリケーションプログラムの略)が設けられる。
従来のトランザクション処理においては、トランザクション種別ごとに閾値となる時間を設定し、それを超えるトランザクションを一つでも検出した場合に、該当トランザクションで遅延障害が発生したと捕えられ、運用管理者に通知するなどしている。
ここでいう遅延障害とは、「通常運用時と比較して明らかに遅い」状態に陥ることを指す。
そして、トランザクションの遅延障害を検出する方法が特許文献1や特許文献2に開示されている。
特開2005−327137号公報 特開2002−324014号公報
しかしながら、上述したようなトランザクションの遅延障害を検出する方法においては、以下に示すような問題点がある。
(1)1回のトランザクションの実行時間が閾値を超えただけで遅延障害と判断しているが、この方法では遅延障害を正しく検出できない。例えば、トランザクションの処理内容や環境によっては、正常状態においても何回かの呼び出しは遅くなることがありえる。もし閾値を、この正常状態であるトランザクションがとり得る範囲内に指定した場合、正常状態であるトランザクションを遅延障害と誤認してしまう。
一方、正常状態であるトランザクションのとりうる実行時間の範囲であっても、総体として従来と比べて著しく処理が遅延していれば、それは遅延障害である。閾値を正常状態であるトランザクションがとり得る範囲より大きい値に指定した場合、このような遅延障害を検出することができずに正常状態と誤認してしまう。
以上のように、従来の一回のトランザクションの実行時間が閾値を超えるかどうかで判断する手法では、トランザクションの遅延障害を正しく検出できない。
(2)トランザクションごとの最適な閾値を設定しなければならず、運用管理者に強いる運用コストが大きい。閾値はトランザクションごとに異なる必要があり、例えば1万種類を超えるようなトランザクションを持つシステムになると、閾値設定のコストがあまりに大きく、各トランザクションに最適な値を設定することは現実的でない。
(3)正しく遅延障害を検出できるか否かは運用管理者の設定する閾値の的確さに依存してしまう。運用管理者の設定が不適切であればこの方法は機能しない。
本発明は、上述したような従来の技術が有する問題点に鑑みてなされたものであって、運用管理者の介入を必要とせずにトランザクションの遅延障害を的確に検出することができるトランザクション装置、遅延障害検出装置、方法及びプログラムを手依拠することを目的とする。
上記目的を達成するために本発明は、
トランザクション要求を受け付けてトランザクションを実行するトランザクション装置であって、
トランザクションの実行を制御すると共に少なくともその実行時間を算出する情報を含む制御情報を出力するトランザクション制御手段と、
該トランザクション制御手段から制御情報を取得してトランザクションの実行時間及び実行回数を記憶保持する実行時間管理手段と、
該実行時間管理手段にて記憶保持されたトランザクションの実行時間及び実行回数に基づいて、直近の単位時間に実行されたトランザクションの集合における直近平均推定値最小値とそれ以前に実行されたトランザクション全体の集合における全体平均推定値最大値とを比較し、前記トランザクション装置の遅延障害を検出する遅延障害検出手段とを有し、
前記遅延障害検出手段は、標準偏差を直近の単位時間にトランザクションが実行された実行回数に基づく値にて除算した値に所定の係数をかけた値を直近の単位時間に実行されたトランザクションの集合における実行時間平均値から減算することにより前記直近平均推定最小値を算出し、標準偏差を前記実行回数に基づく値にて除算した値に所定の係数をかけた値をそれ以前に実行されたトランザクション全体の集合における実行時間平均値に加算することにより前記全体平均推定値最大値を算出する
また、前記遅延障害検出手段は、
直近平均推定値最小値=実行時間平均値(直近)−1.96×(標準偏差÷√実行回数(直近))
によって前記直近平均推定最小値を算出することを特徴とする。
また、前記遅延障害検出手段は、
全体平均推定値最大値=実行時間平均値(全体)+1.96×(標準偏差÷√実行回数(全体))
によって前記全体平均推定値最大値を算出することを特徴とする。
上記発明によると、まず、トランザクションが実行されると、常時、トランザクションの実行時間が計測されて、その回数と共に記憶保持される。そして、一定の時間間隔ごとに、この記憶された全体の実行時間と実行回数と前回比較時からその時点までに実行されたトランザクションの実行時間と実行回数が比較され遅延障害検出が行われる。その算出手順は、まず、前回比較時からその時点までに実行されたトランザクションの実行時間の平均値と標準偏差が算出される。続いて、この平均値に、補正値が減算されて直近平均推定値最小値が算出される。具体的には、下記(式1)によって算出される。
直近平均推定値最小値=実行時間平均値(直近)−1.96×(標準偏差÷√実行回数(直近))・・・(式1)
続いて、上記直近平均推定値最小値と後述する方法で求められる全体平均推定値最大値とが比較され、直近平均推定値最小値が全体平均推定値最大値を上回る場合に、遅延障害として検出し、運用管理者への通知などの任意の処理を行う。
全体の集合のとり得る最大の平均値より、直近の集合のとり得る平均の最小値が大きくなるということは、これら2つの集合の平均値は全く異なるものであり、かつ全体の集合の平均値より直近の集合の平均値のほうが大きいということである。これにより直近に実行されたトランザクション群がそれ以前に実行されたトランザクション群より明確に遅くなったということができ、遅延障害を適切に検出することができる。
上記比較後に、次回の比較に利用される全体平均推定値最大値を算出する。その算出手順は、まず、その時点までに実行された全てのトランザクションの実行時間の平均値と標準偏差が算出される。続いて、この平均値に、補正値が加算されて全体平均推定値最大値が算出される。具体的には、下記(式2)によって算出される。
全体平均推定値最大値=実行時間平均値(全体)+1.96×(標準偏差÷√実行回数(全体))・・・(式2)
以上より、実行時間の平均値にそのばらつきを考慮した補正値が加算され、かかる値に基づいて決定されるため、計測回数が少ない場合であっても、不適切な遅延障害検出がなされることを抑制することができ、信頼性の高いスローダウン障害検出を行うことができる。
さらには、中心極限定理より直近平均推定値最小値及び全体平均推定値最大値を決定していることから、いかなるトランザクションにも対応することができ、汎用性を有する。
また、前記実行時間管理手段は、入力されるリセット操作に基づいて、前記記憶保持されている実行時間及び実行回数を消去することを特徴とする。
これにより、その後は新たな実行時間等が記憶され、これらに基づいて上述したように新たに遅延障害検出が行われる。従って、新しい環境のトランザクションに適した遅延障害検出を行うことができる。
また、上記構成に加えて、遅延障害が検出された後に、該当トランザクションが遅延状態でないと判断された場合、つまり上記直近平均推定値最小値が全体平均推定値最大値を下回る場合に遅延障害回復として検出し、通知などの任意の処理を行うことができる。
また、トランザクション要求を受け付けてトランザクションを実行するトランザクション装置にて単位時間に実行されたトランザクションの遅延障害を検出する遅延障害検出装置であって、
トランザクションの実行を制御すると共に少なくともその実行時間を算出する情報を含む制御情報を出力するトランザクション制御手段と、
該トランザクション制御手段から制御情報を取得してトランザクションの実行時間及び実行回数を記憶保持する実行時間管理手段と、
該実行時間管理手段にて記憶保持されたトランザクションの実行時間及び実行回数に基づいて、直近の単位時間に実行されたトランザクションの集合における直近平均推定値最小値とそれ以前に実行されたトランザクション全体の集合における全体平均推定値最大値とを比較し、前記トランザクション装置の遅延障害を検出する遅延障害検出手段とを有し、
前記遅延障害検出手段は、標準偏差を直近の単位時間にトランザクションが実行された実行回数に基づく値にて除算した値に所定の係数をかけた値を直近の単位時間に実行されたトランザクションの集合における実行時間平均値から減算することにより前記直近平均推定最小値を算出し、標準偏差を前記実行回数に基づく値にて除算した値に所定の係数をかけた値をそれ以前に実行されたトランザクション全体の集合における実行時間平均値に加算することにより前記全体平均推定値最大値を算出する
また、前記遅延障害検出手段は、上記(式1)によって前記直近平均推定最小値を算出することを特徴とする。
また、前記遅延障害検出手段は、上記(式2)によって前記全体平均推定値最大値を算出することを特徴とする。
また、トランザクション要求を受け付けてトランザクションを実行するトランザクション装置にてトランザクションの処理が遅延したことを検出する遅延障害検出方法であって、
トランザクションの実行時間及び実行回数を記憶保持する処理と、
該実行時間管理手段にて記憶保持されたトランザクションの実行時間及び実行回数に基づいて、直近の単位時間に実行されたトランザクションの集合における直近平均推定値最小値とそれ以前に実行されたトランザクション全体の集合における全体平均推定値最大値とを比較し、前記トランザクション装置の遅延障害を検出する処理とを有し、
標準偏差を直近の単位時間にトランザクションが実行された実行回数に基づく値にて除算した値に所定の係数をかけた値を直近の単位時間に実行されたトランザクションの集合における実行時間平均値から減算することにより前記直近平均推定最小値を算出し、標準偏差を前記実行回数に基づく値にて除算した値に所定の係数をかけた値をそれ以前に実行されたトランザクション全体の集合における実行時間平均値に加算することにより前記全体平均推定値最大値を算出する
また、上記(式1)によって前記直近平均推定最小値を算出することを特徴とする。
また、上記(式2)によって前記全体平均推定値最大値を算出することを特徴とする。
また、トランザクション要求を受け付けてトランザクションを実行するトランザクション装置にてトランザクションの処理が遅延したことを検出するためのプログラムであって、
コンピュータに、
トランザクションの実行を制御すると共に少なくともその実行時間を算出する情報を含む制御情報を出力する手順と、
前記制御情報を取得してトランザクションの実行時間及び実行回数を記憶保持する手順と、
該記憶保持されたトランザクションの実行時間及び実行回数に基づいて、標準偏差を直近の単位時間にトランザクションが実行された実行回数に基づく値にて除算した値に所定の係数をかけた値を直近の単位時間に実行されたトランザクションの集合における実行時間平均値から減算することにより、直近の単位時間に実行されたトランザクションの集合における直近平均推定最小値を算出する手順と、
該記憶保持されたトランザクションの実行時間及び実行回数に基づいて、標準偏差を前記実行回数に基づく値にて除算した値に所定の係数をかけた値をそれ以前に実行されたトランザクション全体の集合における実行時間平均値に加算することにより、前記それ以前に実行されたトランザクション全体の集合における全体平均推定値最大値を算出する手順と、
前記直近平均推定最小値と前記全体平均推定値最大値とを比較し、前記トランザクション装置の遅延障害を検出する手順とを実行させる。
また、コンピュータに、
上記(式1)によって前記直近平均推定最小値を算出する手順を実行させる。
また、コンピュータに、
上記(式2)によって前記全体平均推定値最大値を算出する手順を実行させるプログラム。
上述した遅延障害検出装置、方法、さらにはプログラムであっても、上記トランザクション装置と同様に作用するため、上述した本発明の目的を達成することができる。
本発明は、以上のように構成されて機能するので、これによると、実行時間の平均値にそのばらつきを考慮した補正値が加算され、全体の実行時間データの集合と直近の実行時間データの集合とを比較し遅延障害検出を行うため、計測回数が少ない場合であっても、信頼性の高い遅延障害検出を行うことができ、そして、実行時間のばらつきが大きく閾値設定が困難なトランザクションに対しても、遅延障害検出を行うことができ、そして、運用管理者の介入を必要とせずに遅延障害を検出できるという従来にない優れた効果を有する。
以上説明したように本発明においては、トランザクションの実行時間のばらつきを考慮し、全体の集合と直近の集合を比較することより遅延障害が検出される。従って、従来の方法では難しい実行時間にばらつきがあるトランザクションに対しても、精度の高い遅延障害検出を行うことができるという効果を有する。
また、本発明では、全体の集合と直近の集合を比較することより遅延障害が検出されるため、正常状態から遅延状態への変化を即時に検出できるという効果を有する。
また、本発明では、トランザクションの実行時間の信頼度を考慮し、遅延障害が検出される。従って、正常状態を遅延状態と誤認する危険を軽減するという効果を有する。
また、本発明では、自動的に採取した情報をもとに遅延障害検出を行うため、システムの運用管理者は、遅延障害検出のための設定をするための運用管理者の負担がなくなるという効果を有する。
また、本発明では、自動的に採取した情報をもとに遅延障害検出を行うため、システムの運用管理者の設定の的確さに、遅延障害検出の精度が依存しないという効果を有する。
また、本発明では、スローダウン障害を行う際に、本発明の機能により蓄積されたトランザクション実行時間データを用いているため、時が経過するにつれて、より精度の高い遅延障害検出を行うという学習効果を有する。
また、本発明では、環境の変化に対応することが可能である。つまり、突発的な変化に対して、蓄積しているデータをリセットする機能を有している。
さらに、本発明では、特定のトランザクション実行時間分布を仮定していないため、いかなるトランザクションにも対応することができ、汎用性を有する。
以下に、本発明の実施の形態について図面を参照して説明する。
図1は、本発明のトランザクション装置を有するトランザクションシステムの全体構成例を示すブロック図であり、図2は、図1に示したサーバコンピュータ1の構成を示す機能ブロック図である。図3は、図1及び図2に示したサーバコンピュータ1に記憶される情報を示す説明図である。図4及び図5は、図1及び図2に示したサーバコンピュータ1における動作を示すシーケンス図である。
図1に示すように、本形態におけるトランザクションシステムは、トランザクションを実行するトランザクション装置となるサーバコンピュータ1と、これにネットワークNを介して接続された複数のクライアント端末2と運用管理端末3とから構成されている。そして、クライアント端末2からのトランザクション要求をサーバコンピュータ1が受け付けて、トランザクションを実行し、その応答をクライアント端末2に送信するというシステムである。運用管理端末3とサーバコンピュータ1との間でネットワークNを介して任意の情報を送信することもできる。
但し、本発明であるトランザクション装置は、図1に示すシステム形態に限定されない。所定の処理要求を受け付けて実行し、応答するよう作動するトランザクション装置であればよい。
次に、サーバコンピュータ1について、図2及び図3を参照して説明する。図2に示すように、トランザクション装置であるサーバコンピュータ1は、基本的なコンピュータの構成であるCPUなどの演算装置1Aと、ハードディスクなどの記憶装置1Bとを備えている。そして、演算装置1Aには、トランザクション用プログラムが組み込まれることにより、トランザクション制御手段となるトランザクション制御部11と、サーバアプリケーション部12と、実行時間管理部13と、遅延障害検出手段となる障害検出部14と、障害対応部15とが構築される。また、記憶装置1Bには、管理表記憶部16が形成されている。なお、演算装置1Aには、トランザクションを実行するために必要な他の機能や一般的なサーバコンピュータが備える他の機能なども構築されており、記憶装置1Bにも他の必要な情報が記憶されているが、かかる説明は省略する。上記各構成についてさらに詳述する。
トランザクション制御部11は、クライアント端末2からネットワークNを介して送信されたトランザクション要求を受け付け、サーバアプリケーション部12に、要求を受けたトランザクションを開始させる。つまり、トランザクションの実行を制御する機能を有する。また、トランザクション制御部11は、サーバアプリケーション部12からのトランザクション実行後の応答を受け取り、クライアント端末2に返送する。
また、トランザクション制御部11は、トランザクションの実行時間を計測する機能を有する。具体的には、トランザクションを開始させると同時に、その開始した時刻を内部で保持し、トランザクション処理が終了すると、内部で保持していたトランザクション開始時刻から終了時刻を減算し、トランザクション実行時間を算出する。そして、算出した時間と共に、要求され実行されたトランザクションを特定するトランザクション識別子を実行時間管理部13に通知し、トランザクション実行時間管理表の更新を指示する。但し、トランザクション制御部11は、必ずしも実行時間を計測することに限定されず、トランザクションの実行の開始時刻及び終了時刻といった、実行時間を計測するための情報を実行時間管理部13に通知してもよい。
サーバアプリケーション部12は、上述したように、クライアント端末2から要求されたトランザクションを処理する。
実行時間管理部13は、管理表記憶部17と協働して実行時間管理手段として機能し、要求されたトランザクションごとのトランザクション実行時間に関するデータを、管理表記憶部17内に形成されたトランザクション実行時間管理表に記憶保持して管理する。具体的には、図3に示すトランザクション実行時間管理表に、トランザクションごとのトランザクション識別子101、トランザクション実行回数(全体)102、トランザクション実行時間(全体)合計103、トランザクション実行時間平方和(全体)104、トランザクション実行回数(直近)105、トランザクション実行時間合計(直近)106を管理する。さらに詳述すると、実行時間管理部13は、トランザクション制御部11から受け取ったトランザクション識別子及び実行時間から、対応する識別子101を検索し、あるいは、かかる識別子101の行を生成し、トランザクション実行回数(直近)105に「1」を加算する。また、トランザクション実行時間合計(直近)106については、通知を受けた実行時間を加算する。あるいは、トランザクション制御部11にて実行時間が算出されずに終了時刻と開始時刻の通知を受けた場合には、その差分を算出して実行時間として加算する。また、トランザクション実行時間平方和(全体)104については、トランザクション実行時間の平方を算出して加算する。
また、実行時間管理部13は、運用管理者から入力されるリセット操作を認識し、かかるリセット指示に応じて、管理表記億部17内のトランザクション実行時間管理表をリセットする。つまり、上述したように加算した実行時間等を消去する。なお、運用管理者からリセット操作が入力される場合とは、例えば、サーバアプリケーションが稼動する環境の明示的な変化があった場合である。このような状況下においてトランザクション実行時間管理表がリセットされることにより、新しい環境に即した処理遅延検出を行うことができる。なお、トランザクション実行時間管理表をリセットする際は、トランザクション実行時間管理表の全体をリセットしてもよいし、リセット操作時に特定のトランザクションを指定し、トランザクション実行時間管理表の指定されたトランザクション識別子の行のみをリセットしてもよい。
障害検出部14は、上記トランザクション実行時間管理表に記憶されたデータに基づいて、遅延障害が発生していないか調べ、遅延障害を検出した場合は、障害対応部15に通知する。その後、トランザクション時間管理表を更新する。この遅延障害の検出処理、トランザクション時間管理表更新処理は、一定の時間間隔ごとに定期的に実行され、次の手順で実行される。なお、この時間間隔は可変でよい。
まず、トランザクション実行時間管理表の各行について、トランザクション識別子101、トランザクション実行回数(全体)102、トランザクション実行時間合計(全体)103、トランザクション実行時間平方和(全体)104、トランザクション実行回数(直近)105、トランザクション実行時間合計(直近)106をそれぞれ読み出す。
続いて、下記の(式3)によって、トランザクション実行時間平均値(全体)を求める。
トランザクション実行時間平均値(全体)=トランザクション実行時間合計(全体)÷トランザクション実行回数(全体)・・・(式3)
続いて、下記の(式4)によって、トランザクション実行時間標準偏差(全体)を求める。この値は、トランザクション実行時間のばらつきを示す指標として用いられる。
トランザクション実行時間標準偏差(全体)=√(トランザクション実行時間平方和(全体)÷トランザクション実行回数(全体)−トランザクション実行時間平均(全体)2)・・・(式4)
ここで、上記(式3)で得られた標本トランザクション実行時間平均値(全体)は、得られた値から直接算出された値であり、長時間運用した際に得られる真のトランザクション実行時間平均値よりも大きい、もしくは小さいかもしれない。運用開始時にたまたま短い実行時間のトランザクションが連続した場合などに、標本トランザクション実行時間平均値(全体)が、長時間運用した際に得られる真のトランザクション実行時間平均値より下回る可能性がある。
そこで、さらに、下記(式5)により、データの信頼性を挙げるための補正を行い、トランザクション実行時間平均推定値最大値(全体)を算出する。
トランザクション実行時間平均推定値最大値(全体)=トランザクション実行時間平均(全体)+1.96×(トランザクション実行時間標準偏差(全体)÷√トランザクション実行回数(全体))・・・(式5)
(式5)の係数1.96は可変でよい。
なお、統計学の見地から、トランザクション実行回数が30以上であるとき、長時間運用した場合に得られる真のトランザクション実行時間平均値は、95%の確率で以下の(式6)に示す不等式を満たす。この範囲は、特定のデータ分布を仮定しない。
トランザクション実行時間平均−1.96×(トランザクション実行時間標準偏差÷√トランザクション実行回数)<トランザクション実行時間平均推定値最大値<トランザクション実行時間平均+1.96×(トランザクション実行時間標準偏差÷√トランザクション実行回数)・・・(式6)
つまり、長時間運用した場合に得られる真のトランザクション実行時間平均値は、97.5%の確率でトランザクション実行時間平均推定値最大値を下回ることとなる。なお、「1.96」という係数は、可変でもよい。
ここで、トランザクション実行回数が30を下回る場合は、誤認の危険を回避するため、スローダウン検出を行わなくてもよい。但し、30という閾値は可変でもよい。また、トランザクション実行時間の分布が正規分布と仮定できるならば、トランザクション実行回数が30または設定した閾値を下回っても、t分布を利用することによりトランザクション実行時間平均推定値最大値を算出することもできる。しかし、トランザクション実行時間の分布が正規分布であるという仮定を行うことは非常に困難であるがゆえ、本発明では、以下に説明するように、いかなるトランザクション実行時間の分布をとるサーバアプリケーション部12であっても対応できる汎用的な装置を例示している。
続いて、下記の(式7)にて、トランザクション実行時間平均値(直近)を求める。
トランザクション実行時間平均値(直近)=トランザクション実行時間合計(直近)÷トランザクション実行回数(直近)・・・(式7)
ここで、上記(式7)で得られた標本トランザクション実行時間平均値(直近)は、得られた値から直接算出された値であり、真のトランザクション実行時間平均値よりも大きい、もしくは小さいかもしれない。たまたま長い実行時間のトランザクションが連続した場合などに、標本トランザクション実行時間平均値(直近)が、真のトランザクション実行時間平均値より上回る可能性がある。
そこで、さらに、以下に示す(式8)により、データの信頼性を挙げるための補正を行い、トランザクション実行時間平均推定値最小値(直近)を算出する。
トランザクション実行時間平均推定値最小値(直近)=トランザクション実行時間平均(直近)−1.96×(トランザクション実行時間標準偏差÷√トランザクション実行回数(直近))・・・(式8)
なお、統計学の見地から、トランザクション実行回数が30以上であるとき、真のトランザクション実行時間平均値は、95%の確率で以下の数6式に示す不等式を満たす。この範囲は、特定のデータ分布を仮定しない。
つまり、真のトランザクション実行時間平均値は、97.5%の確率でトランザクション実行時間平均推定値最小値(直近)を上回ることとなる。なお、「1.96」という係数は、可変でもよい。
ここで、トランザクション実行回数が30を下回る場合は、誤認の危険を回避するため、スローダウン検出を行わなくてもよい。但し、30という閾値は可変でもよい。
そして、以下の(式9)に示す不等式を満たす場合に、該当トランザクションをスローダウンと判断する。
トランザクション実行時間平均推定値最大値(全体)<トランザクション実行時間平均推定値最小値(直近)・・・(式9)
全体のとり得る最大のトランザクション実行時間平均値より、直近に実行されたトランザクションのとり得る最小の実行時間平均値が大きいということは、これら2つの集合は別の集合であり、かつ全体のトランザクション実行時間平均値より直近のトランザクション実行時間平均値のほうが大きいということができる。つまり、全体にくらべて直近に実行されたトランザクションが遅くなっていると判断できる。
障害対応部15は、障害検出部14から通知された、障害情報に基づいて運用管理端末3に通知する、サーバアプリケーション12の遅延障害を復旧させるなどの任意の処理を行うことができる。
ここで、上記サーバコンピュータ1は、複数台のコンピュータにて構成されていてもよい。例えば、障害検出部14がサーバコンピュータ1に接続された他のコンピュータにて構成され、障害検出装置として作動し、スローダウン障害の検出結果をサーバコンピュータ1の障害対応部15に通知してもよい。同様に、他の各部(障害対応部15など)も他のコンピュータにて構成されていてもよい。
以下に、上記のように構成されたトランザクション装置1の動作を、図3のトランザクション実行時間管理表及び図4及び図5のシーケンス図を参照して説明する。
まず、図4に示すように、クライアント端末2から、トランザクション識別子AAにて特定されるトランザクションがサーバコンピュータ1に要求された場合を考える(ステップS1)。トランザクション制御部11は、要求を受け付け、サーバアプリケーション部12にトランザクションAAを開始させる(ステップS2)と同時に、トランザクションAAを開始した時刻を内部で保持する。
続いて、サーバアプリケーション部12でトランザクションAAが実行され(ステップS4)、終了すると、トランザクション制御部11に実行結果の応答を行う(ステップS5)。そして、トランザクション制御部11は、クライアント端末2に応答を返す(ステップS6)と同時に、内部で保持していたトランザクション開始時間からトランザクションAAの終了時刻を減算し、トランザクション実行時間を算出する(ステップS7)。この例では、図3に示すように、トランザクション実行時間は「20」とする。
そして、トランザクション制御部11は、終了したトランザクションのトランザクション識別子(AA)とトランザクション実行時間(20)を実行時間管理部13に伝える(ステップS8)。すると、実行時間管理部13は、管理表記憶部17内のトランザクション実行時間管理表の中から、通知を受けたトランザクション識別子(AA)と等しいトランザクション識別子の行を探索し、該当する行のトランザクション実行回数(直近)105に「1」を加算する。また、トランザクション制御11より得られたトランザクション実行時間(20)を、トランザクション実行時間合計(直近)106に加算する。さらに、トランザクション実行時間平方和104についても、トランザクション制御部11より得られたトランザクション実行時間(20)の平方を算出して加算する。なお、トランザクション実行時間管理表の中から、通知を受けたトランザクション識別子と等しい行が見つからなかった場合は、空行を確保し、上記と同様の処理を行う。つまり、トランザクション識別子101に「AA」、トランザクション実行回数(直近)105に「1」、トランザクション実行時間合計(直近)106に「20」、トランザクション実行時間平方和104に「400」がそれぞれ設定され、図3に示すように記録される(ステップS9)。
続いて、障害検出部14による一定時間毎の動作について、図3に示すトランザクションBBを例にとり、図5のシーケンス図を参照して説明する。まず、トランザクション実行時間管理表より、トランザクション識別子101が「BB」である行のトランザクション実行回数(全体)102、トランザクション実行時間合計(全体)103、トランザクション実行時間平方和(全体)104、トランザクション実行回数(直近)105、トランザクション実行時間合計(直近)106を読み出し、それぞれの値、「100」、「300」、「1300」、「10」、「35」を取得する(ステップS11,S12)。
トランザクション実行時間平均値=トランザクション実行時間合計÷トランザクション実行回数・・・(式10)
そして、上述した(式10)に代入し、下記の(式11)、(式12)のようにして、直近、全体それぞれに対してトランザクション実行時間平均値を求める(ステップS13)。
トランザクション実行時間平均値(全体)=トランザクション実行時間合計(全体)103「300」÷トランザクション実行回数(全体)102「100」=3・・・(式11)
トランザクション実行時間平均値(直近)=トランザクション実行時間合計(直近)106「105」÷トランザクション実行回数(直近)105「30」=3.5・・・(式12)
トランザクション実行時間標準偏差=√(トランザクション実行時間平方和÷トランザクション実行回数−トランザクション実行時間平均2)・・・(式13)
続いて、上述した(式13)より、下記の(式14)のようにして、トランザクション実行時間標準偏差(標準偏差)を求める(ステップS13)。
トランザクション実行時間標準偏差(全体)=√(トランザクション実行時間平方和(全体)104「1300」÷トランザクション実行回数(全体)102「100」−トランザクション実行時間平均(全体)「3」2)=2・・・(式14)
トランザクション実行時間平均推定値最大値=トランザクション実行時間平均+1.96×(トランザクション実行時間標準偏差÷√トランザクション実行回数)・・・(式15)
次に、上述した(式15)より、下記の(式16)のようにして、トランザクション実行時間平均推定値最大値(全体)を求める(ステップS14)。
トランザクション実行時間平均推定値最大値(全体)=トランザクション実行時間平均(全体)「3」+1.96×(トランザクション実行時間標準偏差(全体)「1」÷√トランザクション実行回数(全体)102「100」=3.196・・・(式16)
トランザクション実行時間平均推定値最小値=トランザクション実行時間平均−1.96×(トランザクション実行時間標準偏差÷√トランザクション実行回数)・・・(式17)
次に、上述した(式17)より、下記の(式18)のようにして、トランザクション実行時間平均推定値最小値(直近)を求める(ステップS14)。
トランザクション実行時間平均推定値最小値(直近)=トランザクション実行時間平均(直近)「3.5」−1.96×(トランザクション実行時間標準偏差(全体)「1」÷√トランザクション実行回数(直近)105「30」=3.142・・・(式18)
そして、トランザクション実行時間平均推定値最大値(全体)とトランザクション実行時間平均推定値最小値(直近)を比較し、スローダウンか否か判定する(ステップS15)。
この場合は、
トランザクション実行時間平均推定値最大値(全体)>トランザクション実行時間平均推定値最小値(直近)
であるため、スローダウンではないと判定される。もし、スローダウンと検出された場合は障害対応部15に伝えられ運用管理者への通知などの障害対応処理を行う(ステップ18)。
図5のステップ16、ステップ17について同様にトランザクションBBを例に図3と図5を用いて説明する。
スローダウン検出処理の後、トランザクション実行回数(全体)102「100」にトランザクション実行回数(直近)105「30」を加算し、105を「0」にクリアする。この結果、トランザクション実行回数(全体)102は「130」にトランザクション実行回数(直近)105は0となる。
さらに、トランザクション実行時間合計(全体)103「300」にトランザクション実行時間合計(直近)106「105」を加算し、トランザクション実行時間合計(直近) 106は「0」にクリアする。この結果、トランザクション実行時間合計(全体)103は「405」に、トランザクション実行時間合計(直近)106は「0」になる。
本発明のトランザクション装置は、あらゆるトランザクションを実行するコンピュータに実装することが可能である。
本発明のトランザクション装置を有するトランザクションシステムの全体構成例を示すブロック図である。 図1に示したサーバコンピュータの構成を示す機能ブロック図である。 図1及び図2に示したサーバコンピュータに記憶される情報を示す説明図である。 図1及び図2に示したサーバコンピュータ1における動作を示すシーケンス図である。 図1及び図2に示したサーバコンピュータ1における動作を示すシーケンス図である。
符号の説明
1 サーバコンピュータ
1A 演算装置
1B 記憶装置
2 クライアント端末
3 運用管理端末
11 トランザクション制御部
12 サーバアプリケーション部
13 実行時間管理部
14 障害検出部
15 障害対応部
16 管理表記憶部

Claims (13)

  1. トランザクション要求を受け付けてトランザクションを実行するトランザクション装置であって、
    トランザクションの実行を制御すると共に少なくともその実行時間を算出する情報を含む制御情報を出力するトランザクション制御手段と、
    該トランザクション制御手段から制御情報を取得してトランザクションの実行時間及び実行回数を記憶保持する実行時間管理手段と、
    該実行時間管理手段にて記憶保持されたトランザクションの実行時間及び実行回数に基づいて、直近の単位時間に実行されたトランザクションの集合における直近平均推定値最小値とそれ以前に実行されたトランザクション全体の集合における全体平均推定値最大値とを比較し、前記トランザクション装置の遅延障害を検出する遅延障害検出手段とを有し、
    前記遅延障害検出手段は、標準偏差を直近の単位時間にトランザクションが実行された実行回数に基づく値にて除算した値に所定の係数をかけた値を直近の単位時間に実行されたトランザクションの集合における実行時間平均値から減算することにより前記直近平均推定最小値を算出し、標準偏差を前記実行回数に基づく値にて除算した値に所定の係数をかけた値をそれ以前に実行されたトランザクション全体の集合における実行時間平均値に加算することにより前記全体平均推定値最大値を算出するトランザクション装置。
  2. 請求項に記載のトランザクション装置において、
    前記遅延障害検出手段は、
    直近平均推定値最小値=実行時間平均値(直近)−1.96×(標準偏差÷√実行回数(直近))
    によって前記直近平均推定最小値を算出することを特徴とするトランザクション装置。
  3. 請求項に記載のトランザクション装置において、
    前記遅延障害検出手段は、
    全体平均推定値最大値=実行時間平均値(全体)+1.96×(標準偏差÷√実行回数(全体))
    によって前記全体平均推定値最大値を算出することを特徴とするトランザクション装置。
  4. 請求項1乃至のいずれか1項に記載のトランザクション装置において、
    前記実行時間管理手段は、入力されるリセット操作に基づいて、前記記憶保持されている実行時間及び実行回数を消去することを特徴とするトランザクション装置。
  5. トランザクション要求を受け付けてトランザクションを実行するトランザクション装置にて単位時間に実行されたトランザクションの遅延障害を検出する遅延障害検出装置であって、
    トランザクションの実行を制御すると共に少なくともその実行時間を算出する情報を含む制御情報を出力するトランザクション制御手段と、
    該トランザクション制御手段から制御情報を取得してトランザクションの実行時間及び実行回数を記憶保持する実行時間管理手段と、
    該実行時間管理手段にて記憶保持されたトランザクションの実行時間及び実行回数に基づいて、直近の単位時間に実行されたトランザクションの集合における直近平均推定値最小値とそれ以前に実行されたトランザクション全体の集合における全体平均推定値最大値とを比較し、前記トランザクション装置の遅延障害を検出する遅延障害検出手段とを有し、
    前記遅延障害検出手段は、標準偏差を直近の単位時間にトランザクションが実行された実行回数に基づく値にて除算した値に所定の係数をかけた値を直近の単位時間に実行されたトランザクションの集合における実行時間平均値から減算することにより前記直近平均推定最小値を算出し、標準偏差を前記実行回数に基づく値にて除算した値に所定の係数をかけた値をそれ以前に実行されたトランザクション全体の集合における実行時間平均値に加算することにより前記全体平均推定値最大値を算出する遅延障害検出装置。
  6. 請求項に記載の遅延障害検出装置において、
    前記遅延障害検出手段は、
    直近平均推定値最小値=実行時間平均値(直近)−1.96×(標準偏差÷√実行回数(直近))
    によって前記直近平均推定最小値を算出することを特徴とする遅延障害検出装置。
  7. 請求項に記載の遅延障害検出装置において、
    前記遅延障害検出手段は、
    全体平均推定値最大値=実行時間平均値(全体)+1.96×(標準偏差÷√実行回数(全体))
    によって前記全体平均推定値最大値を算出することを特徴とする遅延障害検出装置。
  8. トランザクション要求を受け付けてトランザクションを実行するトランザクション装置にてトランザクションの処理が遅延したことを検出する遅延障害検出方法であって、
    トランザクションの実行時間及び実行回数を記憶保持する処理と、
    該実行時間管理手段にて記憶保持されたトランザクションの実行時間及び実行回数に基づいて、直近の単位時間に実行されたトランザクションの集合における直近平均推定値最小値とそれ以前に実行されたトランザクション全体の集合における全体平均推定値最大値とを比較し、前記トランザクション装置の遅延障害を検出する処理とを有し、
    標準偏差を直近の単位時間にトランザクションが実行された実行回数に基づく値にて除算した値に所定の係数をかけた値を直近の単位時間に実行されたトランザクションの集合における実行時間平均値から減算することにより前記直近平均推定最小値を算出し、標準偏差を前記実行回数に基づく値にて除算した値に所定の係数をかけた値をそれ以前に実行されたトランザクション全体の集合における実行時間平均値に加算することにより前記全体平均推定値最大値を算出する遅延障害検出方法。
  9. 請求項に記載の遅延障害検出方法において、
    直近平均推定値最小値=実行時間平均値(直近)−1.96×(標準偏差÷√実行回数(直近))
    によって前記直近平均推定最小値を算出することを特徴とする遅延障害検出方法。
  10. 請求項に記載の遅延障害検出方法において、
    全体平均推定値最大値=実行時間平均値(全体)+1.96×(標準偏差÷√実行回数(全体))
    によって前記全体平均推定値最大値を算出することを特徴とする遅延障害検出方法。
  11. トランザクション要求を受け付けてトランザクションを実行するトランザクション装置にてトランザクションの処理が遅延したことを検出するためのプログラムであって、
    コンピュータに、
    トランザクションの実行を制御すると共に少なくともその実行時間を算出する情報を含む制御情報を出力する手順と、
    前記制御情報を取得してトランザクションの実行時間及び実行回数を記憶保持する手順と、
    該記憶保持されたトランザクションの実行時間及び実行回数に基づいて、標準偏差を直近の単位時間にトランザクションが実行された実行回数に基づく値にて除算した値に所定の係数をかけた値を直近の単位時間に実行されたトランザクションの集合における実行時間平均値から減算することにより、直近の単位時間に実行されたトランザクションの集合における直近平均推定最小値を算出する手順と、
    該記憶保持されたトランザクションの実行時間及び実行回数に基づいて、標準偏差を前記実行回数に基づく値にて除算した値に所定の係数をかけた値をそれ以前に実行されたトランザクション全体の集合における実行時間平均値に加算することにより、前記それ以前に実行されたトランザクション全体の集合における全体平均推定値最大値を算出する手順と、
    前記直近平均推定最小値と前記全体平均推定値最大値とを比較し、前記トランザクション装置の遅延障害を検出する手順とを実行させるためのプログラム。
  12. 請求項11に記載のプログラムにおいて、
    コンピュータに、
    直近平均推定値最小値=実行時間平均値(直近)−1.96×(標準偏差÷√実行回数(直近))
    によって前記直近平均推定最小値を算出する手順を実行させるためのプログラム。
  13. 請求項11に記載のプログラムにおいて、
    コンピュータに、
    全体平均推定値最大値=実行時間平均値(全体)+1.96×(標準偏差÷√実行回数(全体))
    によって前記全体平均推定値最大値を算出する手順を実行させるためのプログラム。
JP2006072970A 2006-03-16 2006-03-16 トランザクション装置、遅延障害検出装置及び方法、並びにプログラム Active JP4449929B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006072970A JP4449929B2 (ja) 2006-03-16 2006-03-16 トランザクション装置、遅延障害検出装置及び方法、並びにプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006072970A JP4449929B2 (ja) 2006-03-16 2006-03-16 トランザクション装置、遅延障害検出装置及び方法、並びにプログラム

Publications (2)

Publication Number Publication Date
JP2007249663A JP2007249663A (ja) 2007-09-27
JP4449929B2 true JP4449929B2 (ja) 2010-04-14

Family

ID=38593878

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006072970A Active JP4449929B2 (ja) 2006-03-16 2006-03-16 トランザクション装置、遅延障害検出装置及び方法、並びにプログラム

Country Status (1)

Country Link
JP (1) JP4449929B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5249569B2 (ja) * 2007-12-11 2013-07-31 株式会社日本総合研究所 業務パフォーマンス把握システムおよび方法
JP5313101B2 (ja) * 2009-09-30 2013-10-09 富士通フロンテック株式会社 情報管理プログラム、情報管理方法、及び、情報管理装置
JP5388122B2 (ja) * 2009-12-16 2014-01-15 Kddi株式会社 サーバ監視装置およびそのサーバ障害判定方法
JP5696627B2 (ja) * 2011-09-14 2015-04-08 富士通株式会社 プログラム、情報処理装置、及び、情報処理方法
CN104104554B (zh) * 2013-04-10 2018-09-25 深圳市腾讯计算机系统有限公司 检测数据访问请求的生命周期方法和装置
JP6163982B2 (ja) * 2013-09-04 2017-07-19 日本電気株式会社 業務アプリケーション遅延検出装置、方法およびプログラム

Also Published As

Publication number Publication date
JP2007249663A (ja) 2007-09-27

Similar Documents

Publication Publication Date Title
EP2523115B1 (en) Operation management device, operation management method, and program storage medium
JP4449929B2 (ja) トランザクション装置、遅延障害検出装置及び方法、並びにプログラム
JP4983795B2 (ja) システム管理プログラム、システム管理装置およびシステム管理方法
US8429455B2 (en) Computer system management method and management system
JP4826831B2 (ja) 障害検知装置、障害検知方法及びそのプログラム
CN109284220B (zh) 集群故障恢复时长估算方法、装置、设备及存储介质
JP6387747B2 (ja) 情報処理装置、障害回避方法およびコンピュータプログラム
US20180101413A1 (en) Control device and control method
US20070168201A1 (en) Formula for automatic prioritization of the business impact based on a failure on a service in a loosely coupled application
JP2007323193A (ja) 性能負荷異常検出システム、性能負荷異常検出方法、及びプログラム
JP2011103030A (ja) インシデント管理方法および運用管理サーバ
US20170206125A1 (en) Monitoring system, monitoring device, and monitoring program
JP5419819B2 (ja) 計算機システムの管理方法、及び管理システム
JP2013201695A (ja) 障害重要度処理サーバ装置、ネットワーク管理システム、障害重要度推定方法およびプログラム
CN111078480B (zh) 一种异常恢复方法和服务器
JP7059859B2 (ja) 制御方法、制御装置および制御プログラム
JP4353155B2 (ja) トランザクション装置、監視時間決定装置及び方法、プログラム
JP2013011987A (ja) 異常状態検知装置及び異常状態検知方法
US10511502B2 (en) Information processing method, device and recording medium for collecting logs at occurrence of an error
CN111294335A (zh) 一种登录方法及装置
JP6572722B2 (ja) 事象発生通知プログラム、事象発生通知方法、及び、事象発生通知装置
JP6508202B2 (ja) 情報処理装置、情報処理方法、及び、プログラム
US10116543B2 (en) Dynamic asynchronous communication management
JPWO2013129061A1 (ja) 同時接続数制御システム、同時接続数制御サーバ、同時接続数制御方法および同時接続数制御プログラム
JP5797602B2 (ja) 障害回避処理装置及び障害回避方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090529

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090610

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090803

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: 20100105

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: 20100118

R150 Certificate of patent or registration of utility model

Ref document number: 4449929

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130205

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130205

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20140205

Year of fee payment: 4