(57)【要約】      （修正有）【課題】端末装置からの要求に対する応答の性能を監視する情報処理システム、性能監視方法、及び性能監視プログラムを提供する。【解決手段】情報処理システムは、端末装置に接続された情報処理装置と、情報処理装置に接続された監視装置１とを有する。情報処理装置は、端末装置からの要求を処理するプロセッサと、プロセッサが受け取る割り込みの頻度を計算する計算部とを有する。監視装置１は、計算部が計算した割り込みの頻度の情報を、情報処理装置から取得する収集部１１と、収集部１１が取得した割り込みの頻度の情報に基づき、特定の期間において割り込みの頻度が閾値格納部１４に格納された閾値を超えたか判定する分析部１２と、分析部１２による判定の結果を格納する分析結果格納部１５とを有する。【選択図】図５
2016164698.tif 000002
【特許請求の範囲】
【請求項１】
端末装置に接続された情報処理装置と、前記情報処理装置に接続された監視装置とを有する情報処理システムにおいて、
前記情報処理装置は、
前記端末装置からの要求を処理するプロセッサと、
前記プロセッサが受け取る割り込みの頻度を計算する計算部と、
を有し、
前記監視装置は、
前記計算部が計算した前記割り込みの頻度の情報を、前記情報処理装置から取得する取得部と、
前記取得部が取得した前記割り込みの頻度の情報に基づき、特定の期間において前記割り込みの頻度が閾値を超えたか判定する判定部と、
前記判定部による判定の結果を格納するデータ格納部と、
を有する情報処理システム。
【請求項２】
前記判定部は、
前記特定の期間において前記割り込みの頻度が前記閾値を超えた回数を計数し、前記割り込みの頻度が前記閾値を超えた回数が第１の所定数以下であるか判定する、
請求項１記載の情報処理システム。
【請求項３】
前記取得部は、
前記割り込みの頻度を計算した時点である計算時点の情報を前記情報処理装置からさらに取得し、
前記判定部は、
前記特定の期間において前記割り込みの頻度が前記閾値を超えた計算時点を特定し、連続する第１の所定数以下の計算時点において前記割り込みの頻度が前記閾値を超えたか判定する、
請求項１記載の情報処理システム。
【請求項４】
前記判定部は、
連続する第２の所定数以上の計算時点において前記割り込みの頻度が前記閾値を超えた場合又は第１の所定時間以上前記割り込みの頻度が前記閾値を超えた場合、前記閾値を、当該閾値の現在の値である第１の値から当該第１の値より大きな値である第２の値に変更する、
請求項３記載の情報処理システム。
【請求項５】
前記判定部は、
連続する第３の所定数以上の計算時点において前記割り込みの頻度が前記閾値を下回った場合又は第２の所定時間以上前記割り込みの頻度が前記閾値を下回った場合、前記閾値を、前記第２の値から前記第１の値に変更する、
請求項４記載の情報処理システム。
【請求項６】
前記プロセッサが受け取る割り込みは外部割り込みである
請求項１乃至５のいずれか１つ記載の情報処理装置。
【請求項７】
端末装置に接続された情報処理装置と、前記情報処理装置に接続された監視装置とを有する情報処理システムにおいて、
前記情報処理装置は、
前記端末装置からの要求を処理するプロセッサが受け取る割り込みの頻度を計算し、当該割り込みの頻度の情報を前記監視装置に送信し、
前記監視装置は、
前記情報処理装置から受信した前記割り込みの頻度の情報に基づき、特定の期間において前記割り込みの頻度が閾値を超えたか判定し、判定の結果をデータ格納部に格納する、
処理を実行する、情報処理システムの性能監視方法。
【請求項８】
情報処理装置に接続された監視装置の性能監視プログラムにおいて、
前記監視装置に、
前記情報処理装置のプロセッサが受け取る割り込みの頻度の情報を前記情報処理装置から受信し、受信した当該割り込みの頻度の情報に基づき、特定の期間において前記割り込みの頻度が閾値を超えたか判定し、
判定の結果をデータ格納部に格納する、
処理を実行させる、監視装置の性能監視プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、性能監視方法、及び性能監視プログラムに関する。
【背景技術】
【０００２】
ＩａａＳ（Infrastructure as a Service）とは、コンピュータシステムを構築及び稼働するための基盤（例えばハードウエアリソース）を、インターネット等のネットワークを介してユーザに対するサービスとして提供することである。ＩａａＳにより提供される基盤上にはコンピュータシステムが構築され、ユーザは、コンピュータシステムにおいて稼働する仮想マシン上で実行されるアプリケーションを利用する。
【０００３】
ＩａａＳの管理者は、ユーザ端末からの要求に対するアプリケーションの応答性能が劣化することを防ぐため、コンピュータシステムの状態を監視し、応答性能の劣化をもたらす可能性がある現象を探す。このような現象は容易に見つかる場合もあれば、容易には見つからない場合もある。例えば、演算処理装置としてのＣＰＵ（Central Processing Unit）使用率の上昇或いは一種の入出力装置としてのストレージ装置に対するＩ／Ｏ（Input/Output）速度の低下といった現象であれば、管理者が容易に見つけることができる。しかし、このような現象が生じておらず、コンピュータシステムの状態が正常であるように見えても、仮想マシンの応答性能が劣化することがある。このようにして発生する障害は、サイレント障害と呼ばれる。
【０００４】
コンピュータシステムの性能監視に関する従来技術においては、このサイレント障害に関する問題には着目されておらず、課題とはされていない。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１１−１２３８５７号公報
【特許文献２】特開平２−１０９１４８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
従って、本発明の目的は、１つの側面では、端末装置からの要求に対する応答の性能を監視するための技術を提供することである。
【課題を解決するための手段】
【０００７】
本発明に係る情報処理システムは、端末装置に接続された情報処理装置と、情報処理装置に接続された監視装置とを有する。そして、上で述べた情報処理装置は、端末装置からの要求を処理するプロセッサと、プロセッサが受け取る割り込みの頻度を計算する計算部とを有する。そして、上で述べた監視装置は、計算部が計算した割り込みの頻度の情報を、情報処理装置から取得する取得部と、取得部が取得した割り込みの頻度の情報に基づき、特定の期間において割り込みの頻度が閾値を超えたか判定する判定部と、判定部による判定の結果を格納するデータ格納部とを有する。
【発明の効果】
【０００８】
１つの側面では、端末装置からの要求に対する応答の性能を監視できるようになる。
【図面の簡単な説明】
【０００９】
【図１】図１は、アプリケーションの応答性能と外部割り込みの頻度との関係を示す図である。
【図２】図２は、データ入出力の際に発生する外部割り込みの頻度の変化を表すグラフを示す図である。
【図３】図３は、本実施の形態におけるシステムの概要を示す図である。
【図４】図４は、物理サーバの構成図である。
【図５】図５は、ＩａａＳ管理サーバの機能ブロック図である。
【図６】図６は、性能データ格納部に格納されるデータの一例を示す図である。
【図７】図７は、性能データ格納部に格納されるデータの一例を示す図である。
【図８】図８は、閾値格納部に格納されるデータの一例を示す図である。
【図９】図９は、第１の実施の形態における分析結果格納部に格納されるデータの一例を示す図である。
【図１０】図１０は、分析部が実行する処理の処理フローを示す図である。
【図１１】図１１は、性能データ格納部の状態及び閾値格納部の状態を示す図である。
【図１２】図１２は、分析結果格納部の状態の変化を示す図である。
【図１３】図１３は、性能データ格納部の状態及び閾値格納部の状態を示す図である。
【図１４】図１４は、分析結果格納部の状態の変化を示す図である。
【図１５】図１５は、閾値の変更について説明するための図である。
【図１６】図１６は、第２の実施の形態における分析部が実行する処理の処理フローを示す図である。
【図１７】図１７は、割り込みと処理遅延との関係について説明するための図である。
【図１８】図１８は、ＶＭを実行する物理サーバ内での割り込みについて説明するための図である。
【図１９】図１９は、コンピュータの機能ブロック図である。
【発明を実施するための形態】
【００１０】
アプリケーションの応答性能は、ＣＰＵが受け取る外部割り込みの影響を受ける。図１に、アプリケーションの応答性能と外部割り込みの頻度との関係を示す。図１における上側のグラフは、日本語の入力を支援するためのアプリケーションが、所定のかな文字を変換する指示を受け付けてから変換が完了するまでに要する時間（単位は秒。以下、変換時間と呼ぶ）の変化を表すグラフであり、縦軸は変換時間を表し、横軸は時刻を表す。図１における下側のグラフは、ＣＰＵが受け取る外部割り込みの頻度（回数／秒）の変化を表すグラフであり、縦軸は外部割り込みの頻度を表し、横軸は時刻を表す。なお、外部割り込み及び内部割り込みについては付録を参照されたい。
【００１１】
図１に示したように、変換時間と外部割り込みの頻度とには相関がある。具体的には、外部割り込みの頻度が高い場合には変換時間が長くなり、外部割り込みの頻度が低い場合には変換時間が短い。但し、外部割り込みの頻度が約３５（回数／秒）より小さい場合には、変換時間の顕著なピークが発生しない。従って、外部割り込みの頻度が予め定めた閾値を超えた場合に性能劣化が発生すると考えられる。
【００１２】
しかし、外部割り込みの頻度が閾値を継続的に超えているような場合には、性能劣化が発生したとしても劣化の程度は大きくなく、また、性能劣化が発生したとしても継続的ではないことがある。図２に、通常行われるデータ入出力の際に発生する外部割り込みの頻度の変化を表すグラフを示す。図２において、縦軸は外部割り込みの頻度を表し、横軸は時刻を表す。データ入出力の際には、必ずしも顕著なピークが現れるわけではなく、外部割り込みの頻度が比較的高い状態が一定の時間継続する。しかし、このような場合には、外部割り込みの頻度が瞬間的に高くなったような場合に発生する性能劣化は発生しない。
【００１３】
以上のような点を踏まえると、特に、外部割り込みの頻度が瞬間的に高くなるような現象が、特定のアプリケーションの性能劣化をもたらすと推定される。そこで、本実施の形態においては、以下のような方法によってアプリケーションの応答性能を監視する。
【００１４】
［実施の形態１］
図３に、本実施の形態におけるシステムの概要を示す。例えばインターネットであるネットワーク２０には、ユーザ端末１０と、ネットワークスイッチ５とが接続される。ネットワークスイッチ５には、ＩａａＳの基盤を提供する物理サーバ３及びストレージ装置７と、物理サーバ３及びストレージ装置７を管理するＩａａＳ管理サーバ１と、ＩａａＳの管理者が操作するＩａａＳ管理者端末９とが接続される。
【００１５】
ユーザ端末１０は、ユーザの入力操作に応じて、処理要求を物理サーバ３に送信する。物理サーバ３においては１又は複数のＶＭ（Virtual Machine）が実行され、各ＶＭはアプリケーションを実行する。ユーザ端末１０を操作するユーザに割り当てられたＶＭは、ユーザ端末１０から処理要求を受信すると、処理要求に応じた処理を実行し、処理結果を含む応答をユーザ端末１０に送信する。ストレージ装置７は、例えばＨＤＤ（Hard Disk Drive）である。なお、ストレージ装置７は、ストレージ管理機能を有する物理サーバに内蔵されていてもよい。
【００１６】
図４に、物理サーバ３の構成図を示す。物理サーバ３は、ハードウエア３１と、ハードウエア３１上で動作するハイパバイザ３２と、ハイパバイザ３２上で動作する性能管理部３３及び１又は複数のＶＭ３５と、性能データ格納部３４とを含む。ハードウエア３１は、ＣＰＵ３１１と、メモリ３１２と、ＨＤＤ３１３と、ＮＩＣ（Network Interface Card）３１４とを含む。ハードウエア３１はその他のハードウエアを含んでいてもよい。ハイパバイザ３２は、ＶＭ３５を生成するための仮想化ソフトウエアである。ハイパバイザ３２、性能管理部３３、及びＶＭ３５は、メモリ３１２にロードされたプログラムをＣＰＵ３１１が実行することによって実現される。ＶＭ３５は、ユーザからの要求に応じた処理を実行する。性能管理部３３は、性能に関するデータ（本実施の形態においては、外部割り込みの頻度）をＶＭ３５毎に定期的（例えば１分ごと）に計算し、性能データ格納部３４に格納すると共に、ＩａａＳ管理サーバ１に送信する。性能データ格納部３４は、例えば、ＨＤＤ３１３に設けられる。
【００１７】
図５に、ＩａａＳ管理サーバ１の機能ブロック図を示す。ＩａａＳ管理サーバ１は、収集部１１と、分析部１２と、性能データ格納部１３と、閾値格納部１４と、分析結果格納部１５とを含む。
【００１８】
収集部１１は、性能に関するデータを、例えば定期的に物理サーバ３から受信し、性能データ格納部１３に格納する。分析部１２は、性能データ格納部１３に格納されたデータ及び閾値格納部１４に格納されたデータに基づき処理を実行し、処理結果を分析結果格納部１５に格納する。
【００１９】
図６に、ＩａａＳ管理サーバ１の性能データ格納部１３に格納されるデータの一例を示す。図６の例では、ＶＭ名と、外部割り込みの頻度を計算した時刻と、外部割り込みの頻度（回数／秒）を表す数値とが格納される。なお、図６にはＶＭ０１についてのデータが示されているが、性能データ格納部１３にはＶＭ３５毎にデータが格納されるため、例えば図７に示すように、ＶＭ０１以外のＶＭ（ここでは、ＶＭ０２）についてのデータも格納される。なお、物理サーバ３の性能データ格納部３４に格納されるデータは、ＩａａＳ管理サーバ１の性能データ格納部１３に格納されるデータと同じである。
【００２０】
図８に、閾値格納部１４に格納されるデータの一例を示す。図８の例では、ＶＭ名と、閾値とが格納される。
【００２１】
図９に、分析結果格納部１５に格納されるデータの一例を示す。図９の例では、外部割り込みの頻度を計算した時刻と、ＶＭ名と、連続回数と、数値リストと、フラグとが格納される。連続回数は、割り込み頻度が閾値を超えたケースが連続した回数を表す。数値リストの列には、閾値を超えた割り込み頻度が格納される。フラグ「１」は割り込み頻度が閾値を超えている状態が継続していることを表し、フラグ「０」は割り込み頻度が閾値を超えている状態が継続していないことを表す。
【００２２】
次に、図１０乃至図１４を用いて、第１の実施の形態におけるＩａａＳ管理サーバ１が実行する処理について説明する。本処理は、定期的（例えば１分ごと）に行われる。
【００２３】
まず、分析部１２は、未処理のＶＭ３５を１台特定し（図１０：ステップＳ１）、特定されたＶＭ３５のＶＭ名に対応する閾値を、閾値格納部１４から読み出す（ステップＳ３）。
【００２４】
分析部１２は、性能データ格納部１３において未処理のＶＭ３５のＶＭ名に対応付けて格納されている数値のうち、最新の数値（すなわち、時刻が最も後である数値）を読み出す（ステップＳ５）。
【００２５】
分析部１２は、ステップＳ５において読み出された数値が、ステップＳ３において読み出された閾値より大きいか判断する（ステップＳ７）。ステップＳ５において読み出された数値が、ステップＳ３において読み出された閾値より大きい場合（ステップＳ７：Ｙｅｓルート）、分析部１２は、分析結果格納部１５に格納されている、未処理のＶＭ３５についてのレコードの中に、フラグが「１」であるレコードが有るか判断する（ステップＳ９）。
【００２６】
未処理のＶＭ３５についてのレコードの中に、フラグが「１」であるレコードが有る場合（ステップＳ９：Ｙｅｓルート）、分析部１２は、該当するレコードの時刻を、ステップＳ５において読み出された数値に対応する時刻（すなわち、最後に計算された頻度に対応する時刻）で更新する。そして、分析部１２は、該当するレコードにおける連続回数を１インクリメントし、該当するレコードにおける数値リストに、ステップＳ５において読み出された数値を追加する（ステップＳ１１）。そしてステップＳ１９の処理に移行する。
【００２７】
未処理のＶＭ３５についてのレコードの中に、フラグが「１」であるレコードが無い場合（ステップＳ９：Ｎｏルート）、分析部１２は、ステップＳ５において読み出された数値に対応する時刻、ステップＳ５において読み出された数値、連続回数「１」、及びフラグ「１」を含むレコードを生成し、分析結果格納部１５に追加する（ステップＳ１３）。そしてステップＳ１９の処理に移行する。
【００２８】
一方、ステップＳ５において読み出された数値が、ステップＳ３において読み出された閾値以下である場合（ステップＳ７：Ｎｏルート）、分析部１２は、分析結果格納部１５に格納されている、未処理のＶＭ３５についてのレコードの中に、フラグが「１」であるレコードが有るか判断する（ステップＳ１５）。
【００２９】
未処理のＶＭ３５についてのレコードの中に、フラグが「１」であるレコードが有る場合（ステップＳ１５：Ｙｅｓルート）、分析部１２は、該当するレコードのフラグを「１」から「０」に変更する（ステップＳ１７）。そしてステップＳ１９の処理に移行する。
【００３０】
一方、未処理のＶＭ３５についてのレコードの中に、フラグが「１」であるレコードが無い場合（ステップＳ１５：Ｎｏルート）、ステップＳ１９の処理に移行する。
【００３１】
分析部１２は、未処理のＶＭ３５が有るか判断する（ステップＳ１９）。未処理のＶＭ３５が有る場合（ステップＳ１９：Ｙｅｓルート）、次のＶＭ３５について処理するため、ステップＳ１の処理に戻る。一方、未処理のＶＭ３５が無い場合（ステップＳ１９：Ｎｏルート）、分析部１２は、分析結果格納部１５に格納されているレコードのうち連続回数が「１」であるレコードが有るか判断する。そして、連続回数が「１」であるレコードが有る場合、分析部１２は、連続回数が「１」であるレコードを含む情報を、ＩａａＳ管理者端末９に送信する（ステップＳ２０）。そして処理を終了する。なお、連続回数が「１」であるレコードを含む情報を、ユーザが指定した形式に変更したうえで、ユーザ端末１０に送信してもよい。
【００３２】
なお、ＩａａＳ管理者端末９を操作する管理者は、ＩａａＳ管理者端末９がステップＳ２０において送信された情報を受信した場合、情報を表示装置等に表示させる。管理者は、情報の内容を確認すると、応答性能の劣化を抑制するための対策を、ＩａａＳ管理者端末９を操作することによって行う。例えば、応答性能が劣化したＶＭ３５のディスクイメージが保存されているストレージ装置７の構成変更（例えば、ＨＤＤの並列数の増加）を実行する。また、例えば、応答性能が劣化したＶＭ３５のディスクイメージを、負荷が少ない別のストレージ装置に移動する。
【００３３】
以上のような処理を実行すれば、閾値を超えた時刻についてのレコードが分析結果格納部１５に格納されるようになる。各レコードには連続回数が含まれるので、連続回数に基づきレコードを抽出し、ユーザ端末１０にレコードを通知できるようになる。これにより、ユーザ端末１０を操作するユーザは、応答性能の劣化を抑制するための対策を行えるようになる。
【００３４】
ここで、図１１乃至図１４を用いて、分析結果格納部１５の状態の変化について説明する。第１の例においては、性能データ格納部１３の状態及び閾値格納部１４の状態が図１１に示すような状態であることを前提とする。図１１においては、左側のテーブル１１０１が性能データ格納部１３の状態を表し、右側のテーブル１１０２が閾値格納部１４の状態を表す。また、図１２のテーブル１２０１は、分析結果格納部１５の初期状態を表す。
【００３５】
テーブル１１０１における１行目のレコードは、数値が閾値より小さいので、分析結果格納部１５には登録されない。従って、分析結果格納部１５の状態は、図１２のテーブル１２０１の状態のままである。
【００３６】
テーブル１１０１における２行目のレコードは、数値が閾値より大きいので、分析結果格納部１５に登録される。但し、図１２のテーブル１２０１において既に登録されているレコードのフラグが「０」なので新たにレコードが生成され、分析結果格納部１５の状態は図１２のテーブル１２０２のような状態になる。新たに生成されたレコードのフラグは「１」である。
【００３７】
テーブル１１０１における３行目のレコードは、数値が閾値より小さいので、分析結果格納部１５には登録されない。ここで、分析結果格納部１５における２行目のレコードのフラグは、「１」から「０」に変更され、分析結果格納部１５の状態は図１２のテーブル１２０３のような状態になる。
【００３８】
テーブル１１０１における４行目のレコードは、数値が閾値より小さいので、分析結果格納部１５には登録されない。従って、分析結果格納部１５の状態は、図１２のテーブル１２０３の状態のままである。
【００３９】
第２の例においては、性能データ格納部１３の状態及び閾値格納部１４の状態が図１３に示すような状態であることを前提とする。図１３においては、左側のテーブル１３０１が性能データ格納部１３の状態を表し、右側のテーブル１３０２が閾値格納部１４の状態を表す。図１４のテーブル１４０１は、分析結果格納部１５の初期状態を表す。
【００４０】
テーブル１３０１における１行目のレコードは、数値が閾値より小さいので、分析結果格納部１５には登録されない。従って、分析結果格納部１５の状態は、図１４のテーブル１４０１の状態のままである。
【００４１】
テーブル１３０１における２行目のレコードは、数値が閾値より大きいので、分析結果格納部１５に登録される。但し、図１４のテーブル１４０１において既に登録されているレコードのフラグが「０」なので新たにレコードが生成され、分析結果格納部１５の状態は図１４のテーブル１４０２のような状態になる。新たに生成されたレコードのフラグは「１」である。
【００４２】
テーブル１３０１における３行目のレコードは、数値が閾値より大きいので、分析結果格納部１５に登録される。ここで、分析結果格納部１５における２行目のレコードのフラグが「１」であるので、テーブル１３０１における３行目のレコードの数値は、分析結果格納部１５における２行目のレコードの数値リストに追加される。また、分析結果格納部１５における２行目のレコードの時刻は、テーブル１３０１における３行目のレコードの時刻で更新される。従って、分析結果格納部１５の状態は、図１４のテーブル１４０３のような状態になる。
【００４３】
テーブル１３０１における４行目のレコードは、数値が閾値より小さいので、分析結果格納部１５には登録されない。ここで、分析結果格納部１５における２行目のレコードのフラグは、「１」から「０」に変更され、分析結果格納部１５の状態は図１４のテーブル１４０４のような状態になる。
【００４４】
［実施の形態２］
上で述べたように、外部割り込みの頻度が閾値を継続的に超えているような場合には、性能劣化が発生したとしても劣化の程度は大きくなく、また、性能劣化が発生したとしても継続的ではないことがある。しかし、例えば図１５に示すように、外部割り込みの頻度が閾値を継続的に超えている状態において、外部割り込みの頻度が瞬間的にさらに高くなると、応答性能の劣化が発生することがある。図１５においては、縦軸が外部割り込みの頻度（回数／秒）を表し、横軸が時刻を表す。このような場合には、同じ閾値を使い続けると、応答性能の劣化を検出することができない。
【００４５】
そこで第２の実施の形態においては、閾値を動的に変更する（図１５の例では、閾値１と閾値２との間で変更する）ことにより、応答性能の劣化の検出漏れを抑制する方法について説明する。
【００４６】
図１６を用いて、第２の実施の形態におけるＩａａＳ管理サーバ１が実行する処理について説明する。本処理は、定期的（例えば１分ごと）に行われる。
【００４７】
まず、分析部１２は、未処理のＶＭ３５を１台特定し（図１６：ステップＳ２１）、特定されたＶＭ３５のＶＭ名に対応する閾値を、閾値格納部１４から読み出す（ステップＳ２３）。
【００４８】
分析部１２は、性能データ格納部１３において未処理のＶＭ３５のＶＭ名に対応付けて格納されている数値のうち、最新の数値（すなわち、時刻が最も後である数値）を読み出す（ステップＳ２５）。
【００４９】
分析部１２は、ステップＳ２５において読み出された数値が、ステップＳ２３において読み出された閾値より大きいか判断する（ステップＳ２７）。ステップＳ２５において読み出された数値が、ステップＳ２３において読み出された閾値より大きい場合（ステップＳ２７：Ｙｅｓルート）、分析部１２は、分析結果格納部１５に格納されている、未処理のＶＭ３５についてのレコードの中に、フラグが「１」であるレコードが有るか判断する（ステップＳ２９）。
【００５０】
未処理のＶＭ３５についてのレコードの中に、フラグが「１」であるレコードが有る場合（ステップＳ２９：Ｙｅｓルート）、分析部１２は、該当するレコードの時刻を、ステップＳ２５において読み出された数値に対応する時刻（すなわち、最後に計算された頻度に対応する時刻）で更新する。そして、分析部１２は、該当するレコードにおける連続回数を１インクリメントし、該当するレコードにおける数値リストに、ステップＳ２５において読み出された数値を追加する（ステップＳ３１）。
【００５１】
分析部１２は、所定回数以上又は所定時間以上連続して数値が閾値を超えた場合、閾値格納部１４に格納されている、未処理のＶＭ３５のＶＭ名に対応付けられた閾値を、より大きな値に設定する（ステップＳ３３）。そしてステップＳ４３の処理に移行する。なお、ステップＳ３３における閾値の設定は必ず実行されるわけではないので、図１６においてステップＳ３３のブロックは破線で示されている。分析部１２は、例えば、ステップＳ２７の判断結果及びステップＳ２５において読み出された数値に対応する時刻を記憶装置（例えばメインメモリ）に保存しておくことにより、ステップＳ３３の処理を行う。
【００５２】
未処理のＶＭ３５についてのレコードの中に、フラグが「１」であるレコードが無い場合（ステップＳ２９：Ｎｏルート）、分析部１２は、ステップＳ２５において読み出された数値に対応する時刻、ステップＳ２５において読み出された数値、連続回数「１」、及びフラグ「１」を含むレコードを生成し、分析結果格納部１５に追加する（ステップＳ３５）。そしてステップＳ４３の処理に移行する。
【００５３】
一方、ステップＳ２５において読み出された数値が、ステップＳ２３において読み出された閾値以下である場合（ステップＳ２７：Ｎｏルート）、分析部１２は、分析結果格納部１５に格納されている、未処理のＶＭ３５についてのレコードの中に、フラグが「１」であるレコードが有るか判断する（ステップＳ３７）。
【００５４】
未処理のＶＭ３５についてのレコードの中に、フラグが「１」であるレコードが有る場合（ステップＳ３７：Ｙｅｓルート）、分析部１２は、該当するレコードのフラグを「１」から「０」に変更する（ステップＳ３９）。
【００５５】
分析部１２は、所定回数以上又は所定時間以上連続して数値が閾値以下である場合、閾値格納部１４に格納されている、未処理のＶＭ３５のＶＭ名に対応付けられた閾値を、より小さな値に設定する（ステップＳ４１）。そしてステップＳ４３の処理に移行する。ステップＳ３３と同様、分析部１２は、ステップＳ２７の判断結果及びステップＳ２５において読み出された数値に対応する時刻を記憶装置（例えばメインメモリ）に保存しておくことにより、ステップＳ４１の処理を行う。
【００５６】
一方、未処理のＶＭ３５についてのレコードの中に、フラグが「１」であるレコードが無い場合（ステップＳ３７：Ｎｏルート）、ステップＳ４３の処理に移行する。
【００５７】
分析部１２は、未処理のＶＭ３５が有るか判断する（ステップＳ４３）。未処理のＶＭ３５が有る場合（ステップＳ４３：Ｙｅｓルート）、次のＶＭ３５について処理するため、ステップＳ２１の処理に戻る。一方、未処理のＶＭ３５が無い場合（ステップＳ４３：Ｎｏルート）、分析部１２は、分析結果格納部１５に格納されているレコードのうち連続回数が「１」であるレコードが有るか判断する。そして、連続回数が「１」であるレコードが有る場合、分析部１２は、連続回数が「１」であるレコードを含む情報を、ＩａａＳ管理者端末９に送信する（ステップＳ４５）。そして処理を終了する。
【００５８】
以上のような処理を実行すれば、性能劣化の検出漏れを抑制し、検出精度を高めることができるようになる。
【００５９】
以上本発明の一実施の形態を説明したが、本発明はこれに限定されるものではない。例えば、上で説明したＩａａＳ管理サーバ１の機能ブロック構成は実際のプログラムモジュール構成に一致しない場合もある。
【００６０】
また、上で説明した各テーブルの構成は一例であって、上記のような構成でなければならないわけではない。さらに、処理フローにおいても、処理結果が変わらなければ処理の順番を入れ替えることも可能である。さらに、並列に実行させるようにしても良い。
【００６１】
上ではＩａａＳ管理サーバ１と物理サーバ３とを別々に設ける例を示したが、ＩａａＳ管理サーバ１と物理サーバ３とが一体であってもよい。この場合、物理サーバ３内における１台のＶＭ３５がＩａａＳ管理サーバ１の役割を果たすようにしてもよい。
【００６２】
また、ステップＳ２０及びＳ４５においては、連続回数が「１」であるレコードを含む情報を送信しているが、連続回数が「１」でなくても性能劣化が発生している可能性があるため、連続回数が「１」以外のレコードをも情報に含めてもよい。
【００６３】
［付録］
本付録においては、割り込みについて説明する。
【００６４】
割り込みには、プロセッサが実行中のプログラムから発生する内部割り込みと、プロセッサが実行中のプログラム以外の要因から発生する外部割り込みとが有る。外部割り込みを発生させる要因は、例えば、キーボード或いはマウス等の入出力装置、ディスク装置等の外部記憶装置、又はネットワークを介して行う他の装置との通信等である。
【００６５】
図１７を用いて、割り込みと処理遅延との関係について説明する。例えばデータをディスクから読み出すことを要求するデータリード要求を、ＭＰＵ（Micro-Processing Unit）がディスクコントローラに出力したとする。データリード要求を出力する要因は、ＭＰＵが実行中のアプリケーションプログラムである場合もあるし、アプリケーションプログラムとは別のプログラム或いは入出力装置等である場合もある。
【００６６】
ディスクコントローラは、データリード要求に従ってディスクからデータを読み出し、データの読み出しが完了したことを割り込みコントローラに通知する。すると、割り込みコントローラは、ＭＰＵに割り込みを出力すると共に、データの読み出しに関する情報をＭＰＵに通知する。
【００６７】
ＭＰＵは、割り込みの発生を検知すると、アプリケーションプログラムの実行を中断し、割り込みサービスルーチン（割り込みハンドラとも呼ばれる）の実行を開始する。図１７の例では、アプリケーションプログラムの実行は命令ｎ＋１の実行完了後に中断している。そして、割り込みサービスルーチンの実行が完了すると、ＭＰＵは、アプリケーションプログラムの実行を命令ｎ＋２から再開する。
【００６８】
このように、アプリケーションプログラムの実行は、割り込みサービスルーチンの実行によって遅延する。そのため、上記のような要因によって多数の割り込みが発生すると、アプリケーションプログラムの実行は大幅に遅延することになる。
【００６９】
次に、図１８を用いて、ＶＭを実行する物理サーバ内での割り込みについて説明する。図１８において、ＶＰ（Virtual Processor）は仮想プロセッサを表し、ＬＰ（Logical Processor）は論理プロセッサを表す。
【００７０】
ハードウエアは、物理ＣＰＵと、ディスクコントローラと、例えばＨＤＤであるディスクと、メモリとを有する。物理ＣＰＵは、コア０乃至ｎを有する。ハイパバイザはハードウエア上で動作し、コア０に対応するＬＰ０と、コア１に対応するＬＰ１と、・・・、コアｎに対応するＬＰｎと、割り込みコントローラとを含む。ＶＭは、ハイパバイザ上で動作する。各ＬＰは、１又は複数のＶＰを含む。
【００７１】
まず、アプリケーションプログラムにおける命令ｎ及び命令ｎ＋１が実行される。ここでは、ＶＭからはＬＰｎがアプリケーションプログラムを実行するように見えるが、実際には、物理ＣＰＵにおけるコアｎがアプリケーションプログラムを実行する。
【００７２】
ここで、命令ｎ及び命令ｎ＋１の実行時にデータリード要求がディスクコントローラに出力されたとする。ディスクコントローラは、データリード要求に従いディスクからデータを読み出し、データの読み出しが完了したことを割り込みコントローラに通知する。すると、割り込みコントローラは、ＬＰｎに割り込みを出力すると共に、データの読み出しに関する情報をＬＰｎに通知する。
【００７３】
ＬＰｎは、割り込みの発生を検知すると、アプリケーションプログラムの実行を中断し、割り込みサービスルーチンの実行を開始する。図１８の例では、アプリケーションプログラムの実行は命令ｎ＋１の実行完了後に中断している。そして、割り込みサービスルーチンの実行が完了すると、ＭＰＵは、アプリケーションプログラムの実行を命令ｎ＋２から再開する。
【００７４】
以上で付録を終了する。
【００７５】
なお、上で述べたＩａａＳ管理サーバ１、ユーザ端末１０、及びＩａａＳ管理者端末９は、コンピュータ装置であって、図１９に示すように、メモリ２５０１とＣＰＵ（Central Processing Unit）２５０３とハードディスク・ドライブ（ＨＤＤ：Hard Disk Drive）２５０５と表示装置２５０９に接続される表示制御部２５０７とリムーバブル・ディスク２５１１用のドライブ装置２５１３と入力装置２５１５とネットワークに接続するための通信制御部２５１７とがバス２５１９で接続されている。オペレーティング・システム（ＯＳ：Operating System）及び本実施例における処理を実施するためのアプリケーション・プログラムは、ＨＤＤ２５０５に格納されており、ＣＰＵ２５０３により実行される際にはＨＤＤ２５０５からメモリ２５０１に読み出される。ＣＰＵ２５０３は、アプリケーション・プログラムの処理内容に応じて表示制御部２５０７、通信制御部２５１７、ドライブ装置２５１３を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ２５０１に格納されるが、ＨＤＤ２５０５に格納されるようにしてもよい。本発明の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク２５１１に格納されて頒布され、ドライブ装置２５１３からＨＤＤ２５０５にインストールされる。インターネットなどのネットワーク及び通信制御部２５１７を経由して、ＨＤＤ２５０５にインストールされる場合もある。このようなコンピュータ装置は、上で述べたＣＰＵ２５０３、メモリ２５０１などのハードウエアとＯＳ及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
【００７６】
以上述べた本発明の実施の形態をまとめると、以下のようになる。
【００７７】
本実施の形態の第１の態様に係る情報処理システムは、（Ａ）端末装置に接続された情報処理装置と、（Ｂ）情報処理装置に接続された監視装置とを有する。そして、上で述べた情報処理装置は、（ａ１）端末装置からの要求を処理するプロセッサと、（ａ２）プロセッサが受け取る割り込みの頻度を計算する計算部とを有する。そして、上で述べた監視装置は、（ｂ１）計算部が計算した割り込みの頻度の情報を、情報処理装置から取得する取得部と、（ｂ２）取得部が取得した割り込みの頻度の情報に基づき、特定の期間において割り込みの頻度が閾値を超えたか判定する判定部と、（ｂ３）判定部による判定の結果を格納するデータ格納部とを有する。
【００７８】
プロセッサが受け取る割り込みの頻度が高くなると、要求の処理に充てられる時間は短くなり、処理遅延が発生すると考えられる。従って、上で述べたようにすれば、端末装置からの要求に対する応答の性能を監視できるようになる。
【００７９】
また、上で述べた判定部は、（ｂ２１）特定の期間において割り込みの頻度が閾値を超えた回数を計数し、割り込みの頻度が閾値を超えた回数が第１の所定数以下であるか判定してもよい。瞬間的に閾値を超える現象が発生した場合に応答の性能劣化が発生しやすいことが確認されている。従って、上で述べたようにすれば、応答の性能劣化を適切に検出できるようになる。
【００８０】
また、上で述べた取得部は、（ａ１１）割り込みの頻度を計算した時点である計算時点の情報を情報処理装置からさらに取得し、上で述べた判定部は、（ｂ２２）特定の期間において割り込みの頻度が閾値を超えた計算時点を特定し、連続する第１の所定数以下の計算時点において割り込みの頻度が閾値を超えたか判定してもよい。継続的に割り込みの頻度が閾値を超えていたとしても性能劣化が発生しないことがあることが確認されている。従って、上で述べたようにすれば、応答の性能劣化を適切に検出できるようになる。
【００８１】
また、上で述べた判定部は、（ｂ２３）連続する第２の所定数以上の計算時点において割り込みの頻度が閾値を超えた場合又は第１の所定時間以上割り込みの頻度が閾値を超えた場合、閾値を、当該閾値の現在の値である第１の値から当該第１の値より大きな値である第２の値に変更してもよい。継続的に割り込みの頻度が閾値を超えている場合において、さらに割り込みの頻度が高くなると、応答の性能劣化がさらに発生することが確認されている。従って、上で述べたようにすれば、性能劣化の検出漏れを抑制できるようになる。
【００８２】
また、上で述べた判定部は、（ｂ２４）連続する第３の所定数以上の計算時点において割り込みの頻度が閾値を下回った場合又は第２の所定時間以上割り込みの頻度が閾値を下回った場合、閾値を、第２の値から第１の値に変更してもよい。このようにすれば閾値は元の値に戻るので、性能劣化の検出漏れを抑制できるようになる。
【００８３】
また、プロセッサが受け取る割り込みは外部割り込みであってもよい。これにより、内部割り込みを頻度計算の対象から外せるので、適切に頻度を計算できるようになる。
【００８４】
本実施の形態の第２の態様に係る性能監視方法は、情報処理装置のプロセッサが受け取る割り込みの頻度の情報を情報処理装置から受信し、（Ｄ）受信した当該割り込みの頻度の情報に基づき、特定の期間において割り込みの頻度が閾値を超えたか判定し、（Ｅ）判定の結果をデータ格納部に格納する処理を含む。
【００８５】
なお、上記方法による処理をコンピュータに行わせるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、ＣＤ−ＲＯＭ、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。尚、中間的な処理結果はメインメモリ等の記憶装置に一時保管される。
【００８６】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【００８７】
（付記１）
端末装置に接続された情報処理装置と、前記情報処理装置に接続された監視装置とを有する情報処理システムにおいて、
前記情報処理装置は、
前記端末装置からの要求を処理するプロセッサと、
前記プロセッサが受け取る割り込みの頻度を計算する計算部と、
を有し、
前記監視装置は、
前記計算部が計算した前記割り込みの頻度の情報を、前記情報処理装置から取得する取得部と、
前記取得部が取得した前記割り込みの頻度の情報に基づき、特定の期間において前記割り込みの頻度が閾値を超えたか判定する判定部と、
前記判定部による判定の結果を格納するデータ格納部と、
を有する情報処理システム。
【００８８】
（付記２）
前記判定部は、
前記特定の期間において前記割り込みの頻度が前記閾値を超えた回数を計数し、前記割り込みの頻度が前記閾値を超えた回数が第１の所定数以下であるか判定する、
付記１記載の情報処理システム。
【００８９】
（付記３）
前記取得部は、
前記割り込みの頻度を計算した時点である計算時点の情報を前記情報処理装置からさらに取得し、
前記判定部は、
前記特定の期間において前記割り込みの頻度が前記閾値を超えた計算時点を特定し、連続する第１の所定数以下の計算時点において前記割り込みの頻度が前記閾値を超えたか判定する、
付記１記載の情報処理システム。
【００９０】
（付記４）
前記判定部は、
連続する第２の所定数以上の計算時点において前記割り込みの頻度が前記閾値を超えた場合又は第１の所定時間以上前記割り込みの頻度が前記閾値を超えた場合、前記閾値を、当該閾値の現在の値である第１の値から当該第１の値より大きな値である第２の値に変更する、
付記３記載の情報処理システム。
【００９１】
（付記５）
前記判定部は、
連続する第３の所定数以上の計算時点において前記割り込みの頻度が前記閾値を下回った場合又は第２の所定時間以上前記割り込みの頻度が前記閾値を下回った場合、前記閾値を、前記第２の値から前記第１の値に変更する、
付記４記載の情報処理システム。
【００９２】
（付記６）
前記プロセッサが受け取る割り込みは外部割り込みである
付記１乃至５のいずれか１つ記載の情報処理装置。
【００９３】
（付記７）
端末装置に接続された情報処理装置と、前記情報処理装置に接続された監視装置とを有する情報処理システムにおいて、
前記情報処理装置は、
前記端末装置からの要求を処理するプロセッサが受け取る割り込みの頻度を計算し、当該割り込みの頻度の情報を前記監視装置に送信し、
前記監視装置は、
前記情報処理装置から受信した前記割り込みの頻度の情報に基づき、特定の期間において前記割り込みの頻度が閾値を超えたか判定し、判定の結果をデータ格納部に格納する、
処理を実行する、情報処理システムの性能監視方法。
【００９４】
（付記８）
情報処理装置に接続された監視装置の性能監視プログラムにおいて、
前記監視装置に、
前記情報処理装置のプロセッサが受け取る割り込みの頻度の情報を前記情報処理装置から受信し、受信した当該割り込みの頻度の情報に基づき、特定の期間において前記割り込みの頻度が閾値を超えたか判定し、
判定の結果をデータ格納部に格納する、
処理を実行させる、監視装置の性能監視プログラム。
【符号の説明】
【００９５】
１  ＩａａＳ管理サーバ    ３  物理サーバ
５  ネットワークスイッチ    ７  ストレージ装置
９  ＩａａＳ管理者端末    ２０  ネットワーク
１０  ユーザ端末
１１  収集部    １２  分析部
１３  性能データ格納部    １４  閾値格納部
１５  分析結果格納部
３１  ハードウエア    ３１１  ＣＰＵ
３１２  メモリ    ３１３  ＨＤＤ
３１４  ＮＩＣ    ３２  ハイパバイザ
３３  性能管理部    ３４  性能データ格納部
３５  ＶＭ
【図１】
2016164698.tif 000003
【図２】
2016164698.tif 000004
【図３】
2016164698.tif 000005
【図４】
2016164698.tif 000006
【図５】
2016164698.tif 000007
【図６】
2016164698.tif 000008
【図７】
2016164698.tif 000009
【図８】
2016164698.tif 000010
【図９】
2016164698.tif 000011
【図１０】
2016164698.tif 000012
【図１１】
2016164698.tif 000013
【図１２】
2016164698.tif 000014
【図１３】
2016164698.tif 000015
【図１４】
2016164698.tif 000016
【図１５】
2016164698.tif 000017
【図１６】
2016164698.tif 000018
【図１７】
2016164698.tif 000019
【図１８】
2016164698.tif 000020
【図１９】
2016164698.tif 000021