JP6090327B2 - ボトルネック検出装置、方法及びプログラム - Google Patents
ボトルネック検出装置、方法及びプログラム Download PDFInfo
- Publication number
- JP6090327B2 JP6090327B2 JP2014538237A JP2014538237A JP6090327B2 JP 6090327 B2 JP6090327 B2 JP 6090327B2 JP 2014538237 A JP2014538237 A JP 2014538237A JP 2014538237 A JP2014538237 A JP 2014538237A JP 6090327 B2 JP6090327 B2 JP 6090327B2
- Authority
- JP
- Japan
- Prior art keywords
- performance index
- bottleneck
- feature vector
- performance
- information processing
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/079—Root cause analysis, i.e. error or fault diagnosis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3024—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a central processing unit [CPU]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/3495—Performance evaluation by tracing or monitoring for systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Debugging And Monitoring (AREA)
Description
本発明は、情報処理装置の性能のボトルネックを分析する技術に関し、特に高負荷動作時にボトルネックが形成されるプログラム部分とボトルネックが形成される原因を判定するための分析技術に関する。
情報処理装置の振舞い分析は、情報処理装置が所望の性能を発揮しない原因となる部分処理(以降、ボトルネック)を特定し、ボトルネックとなる原因を除去あるいは緩和することで性能の向上を図るという目的で行なわれることが多い。ここで、ボトルネックは、プログラムのある特定部分の処理に帰着できることが多いことから、振舞い分析の大きな目的は、ボトルネックとなっているプログラム部分を特定すること、といえる。
情報処理装置の振舞いを表す性能指標として多用されているのは、実行時間である。理由は、最も直接的にシステムの性能を反映する性能指標だからである。このため、実行時間を調べる測定ツールや、性能を分析するツールや手法が数多く考案されている。特許文献1には、イベント・ドリブン方式(厳密には、その一形態であるイベント・トレース方式)の測定ツールを用いたサーバ装置の振舞い分析について開示されている。図1のボトルネック検出システムの概略構成図を参照して特許文献1における分析方法を説明する。まず、測定対象であるプログラムの各部分(プログラム部品)ついて、実行の開始と終了に対応する位置にトレース対象イベントを出力する測定機能(アプリケーション・プローブ)を挿入する。この状態でプログラムを実行させてイベントの時系列データ(トレース・データ)を採取し、そのトレース・データを解析・集計することによって、測定対象となっているプログラムの各部分について、実行時間を求める。
イベント・ドリブン方式とは異なるサンプリング方式により、プログラムの各部分について実行時間を推定する方式の測定ツールもある。例としては、CPU(Central Processing Unit)内蔵の性能カウンタを用いてプログラムの振舞いを計測するツールであるoprofile(非特許文献1参照)がある。oprofileの測定原理は、性能カウンタに測定対象ハードウェア・イベントの種類と回数を指定しておくと、そのイベントが指定回数発生したときにオーバフロー割込み(NMI)が発生することを利用したものである。具体的には、オーバフロー割り込みが発生する度に、そのときのプログラム位置を記録する、という操作を行うことでオーバフロー割り込みが発生したプログラム位置の分布が求まるが、oprofileでは、このような測定を長時間行なって得られる分布を、大数の法則を根拠として、ハードウェア・イベントが発生するプログラム位置の分布とみなすわけである。
図2に、oprofileによる測定結果の一例として、CPUを駆動するクロックが1サイクル進む、というハードウェア・イベントを測定対象イベントとして指定することで得られた「プログラムの各部分の実行に要する時間」を示す。この図の各行がプログラムの各部分についての集計値である。各列は、左列より、イベント発生回数、その割合(全イベント発生回数の合計が100%)、プログラム名、プログラム内の関数名となっている。
なお、インテルのx86プロセッサの場合、CPUの性能カウンタに設定できる測定対象ハードウェア・イベントはプロセッサの種類毎に異なっているが、実行時間(クロックが1サイクル進むというイベント)、実行命令数(CPUが1命令の実行を終了するというイベント)、CPU内蔵キャッシュ・ミス、といったイベントはどの種類のプロセッサでも共通して測定できるようになっている。
どのプログラム部品がボトルネックになっているのかを判定する方法に関する従来技術としては、特許文献1に、負荷の低い状態におけるプログラム各部分の実行時間と、負荷の高い状態におけるプログラム各部分の実行時間を比較し、増加の著しいプログラム部分をボトルネックと判定する方法が示されている。
"OProfile"、[online]、インターネット、〈URL:http://oprofile.sourceforge.net〉
上記の従来技術では、ボトルネックとなっているプログラム部分は判明するが、その原因までは判明しないことが問題となる。原因が判明しない理由は、ボトルネックの分析において、時間に関する性能指標のみを使用していたためである。
本発明の目的は、ボトルネックとなっているプログラム部分を特定することに加え、そのプログラム部分がボトルネックになっている原因を特定する技術を提供することである。
本発明のボトルネック検出装置は、情報処理装置が実行した各部分処理について性能指標ごとに測定した性能指標値を記憶する記憶手段と、前記記憶された性能指標値に基づいて、前記各部分処理についての特徴ベクトルを作成する作成手段と、前記作成された特徴ベクトルに基づいて、前記情報処理装置の性能のボトルネックとなる前記部分処理と、前記ボトルネックとなる原因である性能指標とを判定する判定手段とを備えることを特徴とする。
本発明のボトルネック検出方法は、制御部と記憶部とを有するコンピュータにおいて実施される方法であって、前記制御部が、情報処理装置で実行された各部分処理について性能指標ごとに測定された性能指標値を前記記憶部に記憶する記憶ステップと、前記制御部が、前記記憶された性能指標値に基づいて、前記各部分処理についての特徴ベクトルを作成する作成ステップと、前記制御部が、前記作成された特徴ベクトルに基づいて、前記情報処理装置の性能のボトルネックとなる前記部分処理と、前記ボトルネックとなる原因である性能指標とを判定する判定ステップとを備えることを特徴とする。
本発明のプログラムは、コンピュータを、情報処理装置が実行した各部分処理について性能指標ごとに測定した性能指標値を記憶する記憶手段、前記記憶された性能指標値に基づいて、前記各部分処理についての特徴ベクトルを作成する作成手段、前記作成された特徴ベクトルに基づいて、前記情報処理装置の性能のボトルネックとなる前記部分処理と、前記ボトルネックとなる原因である性能指標とを判定する判定手段として機能させることを特徴とする。
本発明によれば、ボトルネックとなっているプログラム部分を特定することに加え、そのプログラム部分がボトルネックになっている原因を特定する技術を提供することができる。
以下に、本発明の実施の形態について図面を参照して詳細に説明する。
図3を参照して、本実施形態におけるボトルネック検出のためのシステムの構成を説明する。このシステムは、プログラム制御により動作する測定対象サーバ31と、負荷発生手段32と、測定結果格納手段33と、解析手段34と、制御手段35とを含む。測定対象サーバ31で動作するソフトウェアは、トランザクション処理プログラム311、OS kernel312、及び測定手段313を含む。測定対象サーバ31は、サーバ装置などの情報処理装置によって構成される。また、解析手段34は、正規化手段341と、処理負荷保持手段342と、判定手段343と、判定結果表示手段344とを含む。これらの手段の動作の概要について以下に説明する。
図3を参照して、本実施形態におけるボトルネック検出のためのシステムの構成を説明する。このシステムは、プログラム制御により動作する測定対象サーバ31と、負荷発生手段32と、測定結果格納手段33と、解析手段34と、制御手段35とを含む。測定対象サーバ31で動作するソフトウェアは、トランザクション処理プログラム311、OS kernel312、及び測定手段313を含む。測定対象サーバ31は、サーバ装置などの情報処理装置によって構成される。また、解析手段34は、正規化手段341と、処理負荷保持手段342と、判定手段343と、判定結果表示手段344とを含む。これらの手段の動作の概要について以下に説明する。
負荷発生手段32は、制御手段35から負荷発生開始が指示されると、制御手段35から指定された負荷量に従って測定対象サーバ31にトランザクションを送り、測定対象サーバ31によって測定時間内に処理されたトランザクション数を計測する。制御手段35から測定終了が指示されると、負荷発生手段32は、指定された負荷量と測定時間(測定開始から終了までの時間)と計測したトランザクション数とを測定結果格納手段33に格納するとともに、測定操作を終了する。
測定対象サーバ31では、負荷発生手段32から送られるトランザクションがOS kernel312で受信され、トランザクション処理プログラム311に送られて処理される。処理結果は、OS kernel312を介してトランザクションの要求元に返される。測定手段313は、制御手段35から測定開始を指示されると、制御手段35から指示された性能指標の測定を行なう。制御手段35から測定終了が指示されると、測定手段313は測定した結果を測定結果格納手段33に格納するとともに、測定操作を終了する。
解析手段34は、制御手段35からの指示に基づき、測定結果格納手段33に格納された測定結果を処理してボトルネック箇所と原因を判定し、その結果を判定結果表示手段344により表示する。
なお、図3に示したシステムは、図示しないが、一般的なコンピュータが備えるように、CPUなどの制御部、メモリ及びHDD(Hard Disc Drive)などの記憶部、並びに通信モジュールなどのインタフェースを備える。上記の各手段は、例えば、CPUがHDDに記憶されたプログラムをメモリに展開して実行することによって実現される。すなわち、上記の各手段は、ハードウェアとソフトウェアの協働により実現される。
以下、上記動作について具体例を用いて詳細に説明する。
測定手段313は、oprofileを使用して性能の測定を行う。oprofileで測定可能な性能指標はプロセッサによって異なるが、本実施例では、実行時間、実行命令数、キャッシュ・ミス回数、バス・ロック操作回数を含んでいるものとする。実行時間はプログラムの実行に要した時間である。実行命令数はプログラムの実行に要した命令数である。キャッシュ・ミス回数はプログラム実行に伴って発生したキャッシュ・ミスの回数である。バス・ロック操作回数は排他制御操作に伴って実行されたバス・ロック操作の回数である。
測定手段313は、oprofileを使用して性能の測定を行う。oprofileで測定可能な性能指標はプロセッサによって異なるが、本実施例では、実行時間、実行命令数、キャッシュ・ミス回数、バス・ロック操作回数を含んでいるものとする。実行時間はプログラムの実行に要した時間である。実行命令数はプログラムの実行に要した命令数である。キャッシュ・ミス回数はプログラム実行に伴って発生したキャッシュ・ミスの回数である。バス・ロック操作回数は排他制御操作に伴って実行されたバス・ロック操作の回数である。
これらの測定結果は、従来技術で説明した測定原理に従って、プログラム内の関数(部分処理)毎に集計される。oprofileでは、1回の測定で得られる性能指標は1種類であるため、複数種類の性能指標について測定結果を得る場合は、各性能指標について同じ負荷量を指定した測定を複数回実施する。
本実施形態では、制御手段35が制御して行なう測定は、負荷量が低負荷(以降、lと表記)と高負荷(以降、hと表記)の2種類であり、測定手段313により測定する性能指標が実行時間(以降、tと表記)、実行命令数(以降、iと表記)、キャッシュ・ミス回数(以降、cと表記)、バス・ロック操作回数(以降、kと表記)の4種類とする。すなわち、測定を行なう回数は、負荷量と性能指標の組み合わせである8回である。簡単のため、これらの測定は同じ時間(以降、Tと表記)実施するものとする。
図4は、例えば、負荷量がl、性能指標名がt、測定時間がTという条件で実施した性能の測定で得られる結果を示している。ここでは、測定結果は、負荷発生手段が計測する測定時間(T)内に測定対象サーバ31が実行したトランザクションの数(以降、Xltと表記)と、oprofileが計測する関数毎(以降、F1〜nと表記)のイベント発生回数(N1lt〜Nnltと表記)を含んでいる。ここで、FとNに添えられた1〜nは関数の番号、Nに添えられたltは測定条件を表現する添え字である。
本実施形態における測定結果は、profileによる測定結果である関数名とイベント発生回数の表(図4の測定結果2)の各行に、実行条件である負荷量、性能指標名、測定時間と、負荷発生手段32による計測結果である実行トランザクション数の列を付け加えた表(図5)として、測定結果格納手段33に格納される。
ここで重要な点は、表の列に性能指標名を加えることで、負荷量を同じとする実行状況に関して複数種類の性能指標についての測定結果を取り出すことができるようにした点である。なお、このように複数種類の性能指標についての測定結果を取り出すことができるように測定結果を格納する方法は、図5に示したような表を格納する方法に限定されない。性能の測定結果を格納する方法は、負荷量を同じとする実行状況に関して複数種類の性能指標についての測定結果を取り出すことができるという特徴を有する限り、それらは本発明に含まれる。
制御手段35が制御して行なう8回の測定が終了すると、制御手段35は解析手段34を起動する。解析手段34が起動されると、まず、正規化手段341により、測定結果格納手段33に格納されている表の各行に対して、1トランザクション当たりのイベント発生回数(=イベント発生回数/実行トランザクション回数)とスループット(=実行トランザクション回数/測定時間)を求め、これらを新たな列として表に付け加える。この処理により作成される表の一例を図6に示す。
次に、正規化手段341は、図6の表に出現する関数(部分処理)すべてについて、図7に示す特徴ベクトルを作成する。ここで、特徴ベクトルの各要素は、各性能指標について、(高負荷時の1トランザクション当たりのイベント発生回数)/(低負荷時の1トランザクション当たりのイベント発生回数)、である。本実施形態では比を特徴ベクトルの要素としたが、比の代わりに差を使う実施形態も本発明から容易に考案可能な技術内容であり、本発明に含まれる。すなわち、特徴ベクトルは、性能指標ごとに算出された要素を含んでおり、各要素は、低負荷をかけて測定した性能指標値と高負荷をかけて測定した性能指標値との間の関係に基づいている。
各関数についての特徴ベクトルは、判定手段343に入力される。判定手段343は、ボトルネックとなっている関数(部分処理)およびボトルネックとなる原因を判定する。具体的には、判定手段343は、まず、関数を実行時間の比が大きい順に並び替えた結果において上位に位置する関数をボトルネック部分として抽出する。次に、判定手段343は、ボトルネック部分として抽出された関数の特徴ベクトルの各要素(すなわち、実行命令数、キャッシュ・ミス回数、バス・ロック操作回数)の各比を調べ、最も大きな値となっている要素をボトルネックの原因と判定する。
具体的には、比が最も大きな値となった要素が、1)実行命令数の場合は、負荷の増加により実行すべき命令数(≒処理の量)が増加したことがボトルネックの原因と判定される。2)キャッシュ・ミス回数の比が最も大きな値である場合、負荷の増加によりキャッシュ・ミスが増加し、その結果、平均メモリ・アクセス時間が増大したことがボトルネックの原因と判定される。3)バス・ロック操作回数の比が最も大きな値である場合、負荷の増加により排他制御の操作回数が増加したことがボトルネックの原因と判定される。すなわち、ボトルネックの原因である性能指標は、性能指標ごとに算出された特徴ベクトルの要素に基づいて判定される。
ソフトウェア動作と対応させて考えてみると、この判定結果は当該関数内に、1)の場合は例えば、負荷量に応じて実行回数が決まるループ、2)の場合は、負荷量に応じてアクセスするデータ量が決まる配列などのデータ、3)の場合は、負荷量の増加につれて競合が激しくなる排他制御、が存在していることを提示していると解釈することができる。すなわち、この判定操作によって、ボトルネック部分(関数)と、ボトルネックの原因を判定できたことになる。
なお、サンプリング方式により各関数内でのイベント発生回数を推定する測定ツール(oprofileなど)では、イベント発生回数が小さい値の場合は誤差が大きくなるため、高負荷時と低負荷時のイベント発生回数比に含まれる誤差も大きくなる可能性がある。イベント発生回数が小さい性能指標、例えば、図2の結果において発生割合が予め定めた値より小さい値となっている性能指標は、処理性能に与える影響も小さい。そのため、この値(イベント発生回数、又はイベント発生割合)が小さい要素については判定対象から除外する、というフィルタ操作を判定操作に含めることも考えられる。このようなフィルタ操作を行う判定手段343も本発明から容易に考案可能な技術内容であり、本発明に含まれる。
判定手段343による判定結果(すなわち、ボトルネックとなる部分及びボトルネックの原因)は、判定結果表示手段344によって人が理解できる形式で表示される。なお、判定結果は、表示によって出力されることに限定されず、コンピュータが認識可能な形式で外部装置に出力されることとしても良い。
この出願は、2012年9月25日に出願された日本出願特願2012−211403を基礎とする優先権を主張し、その開示の全てをここに取り込む。
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
上述した実施形態の一部または全部は、以下の付記のようにも記載され得るが、本発明を以下のように限定するものではない。
(付記1)情報処理装置が実行した各部分処理について性能指標ごとに測定した性能指標値を記憶する記憶手段と、
前記記憶された性能指標値に基づいて、前記各部分処理についての特徴ベクトルを作成する作成手段と、
前記作成された特徴ベクトルに基づいて、前記情報処理装置の性能のボトルネックとなる前記部分処理と、前記ボトルネックとなる原因である性能指標とを判定する判定手段と
を備えることを特徴とするボトルネック検出装置。
前記記憶された性能指標値に基づいて、前記各部分処理についての特徴ベクトルを作成する作成手段と、
前記作成された特徴ベクトルに基づいて、前記情報処理装置の性能のボトルネックとなる前記部分処理と、前記ボトルネックとなる原因である性能指標とを判定する判定手段と
を備えることを特徴とするボトルネック検出装置。
(付記2)前記記憶された性能指標値は、前記情報処理装置に低負荷をかけたときと高負荷をかけたときのそれぞれについて測定した性能指標値を含み、
前記作成された特徴ベクトルは、前記低負荷のときの性能指標値と前記高負荷のときの性能指標値との間の関係にさらに基づいていることを特徴とする付記1に記載のボトルネック検出装置。
前記作成された特徴ベクトルは、前記低負荷のときの性能指標値と前記高負荷のときの性能指標値との間の関係にさらに基づいていることを特徴とする付記1に記載のボトルネック検出装置。
(付記3)前記作成された特徴ベクトルは、性能指標ごとに算出された要素を含み、
前記ボトルネックとなる原因である性能指標は、前記性能指標ごとに算出された要素に基づいて判定されることを特徴とする付記1又は2に記載のボトルネック検出装置。
前記ボトルネックとなる原因である性能指標は、前記性能指標ごとに算出された要素に基づいて判定されることを特徴とする付記1又は2に記載のボトルネック検出装置。
(付記4)前記判定されたボトルネックとなる部分処理とボトルネックとなる原因である性能指標とを出力する出力手段を備えることを特徴とする付記1から3のいずれか1つに記載のボトルネック検出装置。
(付記5)制御部と記憶部とを有するコンピュータにおいて実施される方法であって、
前記制御部が、情報処理装置で実行された各部分処理について性能指標ごとに測定された性能指標値を前記記憶部に記憶する記憶ステップと、
前記制御部が、前記記憶された性能指標値に基づいて、前記各部分処理についての特徴ベクトルを作成する作成ステップと、
前記制御部が、前記作成された特徴ベクトルに基づいて、前記情報処理装置の性能のボトルネックとなる前記部分処理と、前記ボトルネックとなる原因である性能指標とを判定する判定ステップと
を備えることを特徴とするボトルネック検出方法。
前記制御部が、情報処理装置で実行された各部分処理について性能指標ごとに測定された性能指標値を前記記憶部に記憶する記憶ステップと、
前記制御部が、前記記憶された性能指標値に基づいて、前記各部分処理についての特徴ベクトルを作成する作成ステップと、
前記制御部が、前記作成された特徴ベクトルに基づいて、前記情報処理装置の性能のボトルネックとなる前記部分処理と、前記ボトルネックとなる原因である性能指標とを判定する判定ステップと
を備えることを特徴とするボトルネック検出方法。
(付記6)コンピュータを、
情報処理装置が実行した各部分処理について性能指標ごとに測定した性能指標値を記憶する記憶手段、
前記記憶された性能指標値に基づいて、前記各部分処理についての特徴ベクトルを作成する作成手段、
前記作成された特徴ベクトルに基づいて、前記情報処理装置の性能のボトルネックとなる前記部分処理と、前記ボトルネックとなる原因である性能指標とを判定する判定手段
として機能させるためのプログラム。
情報処理装置が実行した各部分処理について性能指標ごとに測定した性能指標値を記憶する記憶手段、
前記記憶された性能指標値に基づいて、前記各部分処理についての特徴ベクトルを作成する作成手段、
前記作成された特徴ベクトルに基づいて、前記情報処理装置の性能のボトルネックとなる前記部分処理と、前記ボトルネックとなる原因である性能指標とを判定する判定手段
として機能させるためのプログラム。
本発明の活用例として、情報システム構築において、負荷テストを行なう際に発生する性能問題、特に、複数のトランザクションの並行処理に起因する性能ボトルネックについて原因となっている場所と原因を効率的に発見するためのプログラムといった用途に適用できる。
31 測定対象サーバ、32 負荷発生手段、33 測定結果格納手段、34 解析手段、35 制御手段
Claims (6)
- 情報処理装置が実行した各部分処理について性能指標ごとに測定した性能指標値を記憶する記憶手段と、
前記記憶された性能指標値に基づいて、前記各部分処理についての特徴ベクトルを作成する作成手段と、
前記作成された特徴ベクトルに基づいて、前記情報処理装置の性能のボトルネックとなる前記部分処理と、前記ボトルネックとなる原因である性能指標とを判定する判定手段と
を備えることを特徴とするボトルネック検出装置。 - 前記記憶された性能指標値は、前記情報処理装置に低負荷をかけたときと高負荷をかけたときのそれぞれについて測定した性能指標値を含み、
前記作成された特徴ベクトルは、前記低負荷のときの性能指標値と前記高負荷のときの性能指標値との間の関係にさらに基づいていることを特徴とする請求項1に記載のボトルネック検出装置。 - 前記作成された特徴ベクトルは、性能指標ごとに算出された要素を含み、
前記ボトルネックとなる原因である性能指標は、前記性能指標ごとに算出された要素に基づいて判定されることを特徴とする請求項1又は2に記載のボトルネック検出装置。 - 前記判定されたボトルネックとなる部分処理とボトルネックとなる原因である性能指標とを出力する出力手段を備えることを特徴とする請求項1から3のいずれか1項に記載のボトルネック検出装置。
- 制御部と記憶部とを有するコンピュータにおいて実施される方法であって、
前記制御部が、情報処理装置で実行された各部分処理について性能指標ごとに測定された性能指標値を前記記憶部に記憶する記憶ステップと、
前記制御部が、前記記憶された性能指標値に基づいて、前記各部分処理についての特徴ベクトルを作成する作成ステップと、
前記制御部が、前記作成された特徴ベクトルに基づいて、前記情報処理装置の性能のボトルネックとなる前記部分処理と、前記ボトルネックとなる原因である性能指標とを判定する判定ステップと
を備えることを特徴とするボトルネック検出方法。 - コンピュータを、
情報処理装置が実行した各部分処理について性能指標ごとに測定した性能指標値を記憶する記憶手段、
前記記憶された性能指標値に基づいて、前記各部分処理についての特徴ベクトルを作成する作成手段、
前記作成された特徴ベクトルに基づいて、前記情報処理装置の性能のボトルネックとなる前記部分処理と、前記ボトルネックとなる原因である性能指標とを判定する判定手段
として機能させるためのプログラム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012211403 | 2012-09-25 | ||
JP2012211403 | 2012-09-25 | ||
PCT/JP2013/068680 WO2014050254A1 (ja) | 2012-09-25 | 2013-07-08 | ボトルネック検出装置、方法及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2014050254A1 JPWO2014050254A1 (ja) | 2016-08-22 |
JP6090327B2 true JP6090327B2 (ja) | 2017-03-08 |
Family
ID=50387671
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014538237A Active JP6090327B2 (ja) | 2012-09-25 | 2013-07-08 | ボトルネック検出装置、方法及びプログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US9652355B2 (ja) |
JP (1) | JP6090327B2 (ja) |
WO (1) | WO2014050254A1 (ja) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10572368B2 (en) * | 2014-11-24 | 2020-02-25 | Micro Focus Llc | Application management based on data correlations |
JP6693308B2 (ja) | 2016-07-05 | 2020-05-13 | 富士通株式会社 | 負荷推定プログラム、負荷推定方法及び負荷推定装置 |
CN108874613B (zh) * | 2017-05-10 | 2021-11-05 | 鸿秦(北京)科技有限公司 | 一种性能瓶颈定位量化方法、装置及嵌入式io系统 |
KR101968575B1 (ko) * | 2017-06-02 | 2019-08-13 | 그린아일 주식회사 | 실시간 병목 자동 분석 방법 및 이러한 방법을 수행하는 장치 |
US10565045B2 (en) * | 2017-06-28 | 2020-02-18 | Microsoft Technology Licensing, Llc | Modularized collaborative performance issue diagnostic system |
US10970055B2 (en) | 2018-08-21 | 2021-04-06 | International Business Machines Corporation | Identifying software and hardware bottlenecks |
US11593035B2 (en) | 2021-01-06 | 2023-02-28 | Red Hat, Inc. | Managing client devices associated with storage nodes in a scale-out storage system |
CN113656292B (zh) * | 2021-08-04 | 2022-05-17 | 航天中认软件测评科技(北京)有限责任公司 | 一种多维度跨时空基础软件性能瓶颈检测方法 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001109649A (ja) | 1999-10-12 | 2001-04-20 | Nec Corp | コンピュータシステムにおけるcpuリソース改善の評価装置およびその評価方法 |
JP3721027B2 (ja) | 1999-11-25 | 2005-11-30 | 日本電気株式会社 | プログラム性能グラフ表示装置およびプログラム性能のグラフ表示方法 |
JP3683216B2 (ja) | 2001-12-28 | 2005-08-17 | 新日鉄ソリューションズ株式会社 | 性能評価装置、情報処理方法およびプログラム |
JP4654707B2 (ja) | 2005-02-18 | 2011-03-23 | 日本電気株式会社 | ボトルネック検出システム、測定対象サーバ、ボトルネック検出方法およびプログラム |
US8359378B2 (en) | 2005-11-24 | 2013-01-22 | Hewlett-Packard Development Company, L.P. | Network system and method of administrating networks |
JP5431633B2 (ja) | 2006-03-17 | 2014-03-05 | 富士通セミコンダクター株式会社 | 性能チューニングプログラム、該プログラムを記録した記録媒体、性能チューニング装置、および性能チューニング方法 |
JP4837445B2 (ja) * | 2006-06-06 | 2011-12-14 | 株式会社日立製作所 | 記憶システム並びに管理装置及び方法 |
US8151251B2 (en) * | 2007-05-31 | 2012-04-03 | Wipro Limited | e-Profiler: dynamic profiling and auditing framework |
US9251035B1 (en) * | 2010-07-19 | 2016-02-02 | Soasta, Inc. | Load test charts with standard deviation and percentile statistics |
US9442817B2 (en) * | 2010-10-08 | 2016-09-13 | Vmware, Inc. | Diagnosis of application server performance problems via thread level pattern analysis |
US8621070B1 (en) * | 2010-12-17 | 2013-12-31 | Netapp Inc. | Statistical profiling of cluster tasks |
US8756310B2 (en) * | 2011-03-09 | 2014-06-17 | International Business Machines Corporation | Comprehensive bottleneck detection in a multi-tier enterprise storage system |
US20130054792A1 (en) * | 2011-08-25 | 2013-02-28 | Salesforce.Com, Inc. | Cloud-based performance testing of functionality of an application prior to completion of development |
US9251032B2 (en) * | 2011-11-03 | 2016-02-02 | Fujitsu Limited | Method, computer program, and information processing apparatus for analyzing performance of computer system |
US9152532B2 (en) * | 2012-08-07 | 2015-10-06 | Advanced Micro Devices, Inc. | System and method for configuring a cloud computing system with a synthetic test workload |
US9665474B2 (en) * | 2013-03-15 | 2017-05-30 | Microsoft Technology Licensing, Llc | Relationships derived from trace data |
-
2013
- 2013-07-08 US US14/429,379 patent/US9652355B2/en active Active
- 2013-07-08 WO PCT/JP2013/068680 patent/WO2014050254A1/ja active Application Filing
- 2013-07-08 JP JP2014538237A patent/JP6090327B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
WO2014050254A1 (ja) | 2014-04-03 |
US20150227446A1 (en) | 2015-08-13 |
JPWO2014050254A1 (ja) | 2016-08-22 |
US9652355B2 (en) | 2017-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6090327B2 (ja) | ボトルネック検出装置、方法及びプログラム | |
Hassan et al. | The top ten list: Dynamic fault prediction | |
Zaparanuks et al. | Accuracy of performance counter measurements | |
US9703670B2 (en) | Performance state machine control with aggregation insertion | |
US10691571B2 (en) | Obtaining application performance data for different performance events via a unified channel | |
US20050283339A1 (en) | Performance analyzing method using hardware | |
Bienia et al. | Fidelity and scaling of the PARSEC benchmark inputs | |
JP7021280B2 (ja) | 後方互換性のためのアプリケーション固有動作パラメータの導出 | |
US8359291B2 (en) | Architecture-aware field affinity estimation | |
JP2017167930A (ja) | 情報処理装置、電力測定方法及び電力測定プログラム | |
Cook et al. | Examining performance differences in workload execution phases | |
Fedorova et al. | Performance comprehension at WiredTiger | |
WO2018163291A1 (ja) | アーキテクチャ選定装置、アーキテクチャ選定方法およびアーキテクチャ選定プログラム | |
Alizadeh et al. | Green AI: A Preliminary Empirical Study on Energy Consumption in DL Models Across Different Runtime Infrastructures | |
Ding et al. | APMT: an automatic hardware counter-based performance modeling tool for HPC applications | |
JP6064756B2 (ja) | 性能データ収集プログラム、装置、及び方法 | |
WO2020232906A1 (zh) | 代码有效性测试方法、计算设备及存储介质 | |
Khairin et al. | Analysis of The Impact of Software Detailed Design on Mobile Application Performance Metrics | |
JP2008269578A (ja) | 競合部分処理検出方法、装置及びコンピュータプログラム | |
Treibig et al. | Best practices for HPM-assisted performance engineering on modern multicore processors | |
US20230133110A1 (en) | Systems and methods for detection of cryptocurrency mining using processor metadata | |
Jeon et al. | IoLens: Visual Analytics System for Exploring Storage I/O Tracking Process | |
Botezatu | A study on compiler flags and performance events | |
Dinulică et al. | Monitoring computer systems for crypto mining threat detection | |
KR20170065845A (ko) | 프로세서 및 제어 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160616 |
|
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: 20170110 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170123 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6090327 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |