JP2008171234A - システム構成候補導出装置、方法およびプログラム - Google Patents

システム構成候補導出装置、方法およびプログラム Download PDF

Info

Publication number
JP2008171234A
JP2008171234A JP2007004375A JP2007004375A JP2008171234A JP 2008171234 A JP2008171234 A JP 2008171234A JP 2007004375 A JP2007004375 A JP 2007004375A JP 2007004375 A JP2007004375 A JP 2007004375A JP 2008171234 A JP2008171234 A JP 2008171234A
Authority
JP
Japan
Prior art keywords
system configuration
layer
configuration candidate
correlation
server
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.)
Granted
Application number
JP2007004375A
Other languages
English (en)
Other versions
JP4752767B2 (ja
Inventor
Yoshiharu Nishimura
祥治 西村
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 JP2007004375A priority Critical patent/JP4752767B2/ja
Publication of JP2008171234A publication Critical patent/JP2008171234A/ja
Application granted granted Critical
Publication of JP4752767B2 publication Critical patent/JP4752767B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

【課題】管理対象システムに含まれるシステム構成要素の組み合わせであって一部の層のシステム構成要素が過剰に多かったり少なかったりすることのない組み合わせを特定可能なシステム構成候補特定装置を提供する。
【解決手段】要素間相関性導出手段110は、対象システム160のサーバのメトリックを計測し、計測したメトリック間の相関性を導出する。性能プロファイル手段120は、システム構成要素の台数とその台数のシステム構成要素の処理量との関係を導出可能な情報である性能プロファイルを生成する。システム構成候補列挙手段131は、メトリックの相関性と性能プロファイルとによって、バランスのとれたシステム構成候補を導出する。
【選択図】図1

Description

本発明は、管理対象となるシステムの構成を変更する場合における変更後の構成の候補を特定するシステム構成候補導出装置、システム構成候補特定方法およびシステム構成候補特定プログラムに関する。
従来の運用管理システムの一例が、特許文献1に記載されている。特許文献1に記載された運用管理システムは、管理対象システムのログを監視することにより業務パターン(どの業務がどれくらい実行されているかという割合)を抽出する。そして、性能予測シミュレーション部が、その業務パターンにおける応答時間とスループットを算出する。予測性能がシステムの要求性能を満足しない場合、拡張または縮小するハードウェア構成を特定する条件に従って変更対象となる構成を特定する。性能予測シミュレーション部によって算出される予測性能がシステムの要求性能を満足するまで上記の動作を繰り返し、予測性能が要求性能を満足したならば、最適な構成を提示する。
図17は、管理対象となるシステムの例を示す説明図である。図17に例示する管理対象システムは、ロードバランサ240と、Web層210と、AP層220と、DB層230とを含む。層とは、同種のソフトウェアが搭載されそのソフトウェアに従って動作するコンピュータの集合である。Web層210は、端末(図示せず。)からのリクエストに応じて端末にWebページを提供する処理をコンピュータに実行させるプログラムを搭載したWebサーバ211の集合である。AP層220は、Webサーバからの要求に応じた処理をコンピュータに実行させるプログラムを搭載したサーバ(以下、AP(アプリケーション)サーバと記す。)221の集合である。DB層230は、データベース(図示せず。)からデータを抽出する処理をコンピュータに実行させるプログラムを搭載したサーバ(以下、DB(データベース)サーバと記す。)231の集合である。
Webサーバ211は、端末(図示せず。)からのリクエストに応じて端末にWebページを送信する。APサーバ221は、Webサーバからの要求に応じた種々の処理を実行する。DBサーバ231は、データベースからのデータの読み込みを行う。
Webサーバ211は、第1通信ネットワーク212に接続されている。APサーバ221は、第2通信ネットワーク222に接続されている。DBサーバ231は、第3通信ネットワーク232に接続されている。第1通信ネットワーク212と第2通信ネットワーク222とはルータ251によって接続され、第2通信ネットワーク222と第3通信ネットワーク232とはルータ252によって接続されている。ロードバランサ240は、各Webサーバ211の負荷が分散されるように、端末(図示せず。)からWebサーバ211へのリクエストを振り分ける。
いずれかのWebサーバ211が端末からのリクエストを受信すると、そのWebサーバ211は、いずれかのAPサーバ221にリクエストに応じた処理を実行させる。APサーバ221は、DBサーバ231に、データベース(図示せず。)から処理に必要なデータを抽出させ、そのデータを用いて処理を進める。Webサーバ211は、APサーバ221による処理結果を反映させたWebページを端末に送信する。
このようなシステムを監視する場合、システムに含まれる各サーバ等の負荷状況を監視する監視システム170が設けられる。監視システム170は、例えば、各通信ネットワーク212,222,232に接続され、各サーバ等の負荷状況を監視する。負荷状況とは、例えば、各サーバのCPUの稼働率、各サーバが受信するリクエスト等の各種命令の数である。
特開2005−99973号公報(段落0022−0035、図1および図2)
特許文献1に記載された運用管理システムでは、業務パターンに応じた性能を予測し、その予測性能と、管理対象となるシステムに要求される要求性能とを比較して、予測性能が要求性能を満たすまで、変更対象となる構成を特定し、性能の予測および要求性能との比較を繰り返す。しかし、拡張または縮小する構成を特定する条件次第により、要求性能を満たすような構成を特定できない場合があり得る。例えば、ある構成を特定し、システムの構成を切り替えた場合、切り替え前で問題となっていた事象が解決されても、新たな問題が発現することがあり得る。具体的には、切り替え前におけるボトルネックを解消できたとしても、構成を切り替えることで別の構成要素がボトルネックとなることもあり得る。また、システムの構成を切り替えた場合、構成を切り替えた後のシステムに含まれる構成要素同士の組み合わせにより、ある構成要素が別の構成要素に影響を及ぼし、所望の要求性能が得られないということもあり得る。この結果、予測性能を算出して要求性能との比較を行う処理を繰り返しても、要求性能を満たすような構成を特定できない場合が生じ得る。
システムに属する構成要素のバランスがとれていないと、システム全体のパフォーマンスに影響を及ぼしてしまう。例えば、図17に例示するシステムの一部の層のサーバ数が少なかったり、一部の層に性能不足が生じたりしていると、システム全体として良好な応答ができなくなる。また、ある一部の層にサーバが過剰に存在すると、そのサーバの中にはシステム全体のパフォーマンスに寄与しないサーバも含まれ得る。このような状態は、無駄なコストが生じていることを意味する。
監視システム170が各サーバ等の負荷状況を監視した結果、いずれかの層のサーバ数が十分でないこと、あるいは過剰であることが明らかになったとする。この場合、システム管理者がその層にサーバを追加したり、あるいはサーバを削除したりすることが考えられる。しかし、このように、ある構成要素の過剰や不足が認識される度に、単にその構成要素を増減させていくだけでは、システムの構成要素を変更した後において、各構成要素の数が適当であるとは限らない。
また、管理対象システムに含まれるシステム構成要素の組み合わせであって一部の層のシステム構成要素が過剰に多かったり少なかったりすることのない組み合わせを導出可能なシステム構成候補導出装置、システム構成候補特定方法およびシステム構成候補特定プログラムを提供することを目的とする。
本発明のシステム構成候補導出装置は、同種のソフトウェアが搭載されそのソフトウェアに従って動作するシステム構成要素の集合である層を複数含む管理対象システムの構成の候補であるシステム構成候補を導出するシステム構成候補導出装置であって、管理対象システムの負荷状況を示すメトリックの相関性を、管理対象システムのメトリックを計測して導出する要素間相関性導出手段と、システム構成要素の台数とその台数のシステム構成要素の処理量との関係を導出可能な情報である性能プロファイルと、メトリックの相関性とに基づいて、システム構成候補を導出するシステム構成候補列挙手段とを備えたことを特徴とする。
そのような構成によれば、システム構成候補列挙手段が、システム構成要素の台数とその台数のシステム構成要素の処理量との関係を導出可能な情報である性能プロファイルと、メトリックの相関性とに基づいて、システム構成候補を導出するので、一部の層のシステム構成要素が過剰に多かったり少なかったりすることのないシステム構成候補を導出することができる。
本発明のシステム構成候補導出装置は、例えば、性能プロファイルを提供する性能プロファイル手段を備える。
また、要素間相関性導出手段が、時間経過に伴いメトリックを継続して計測し、メトリックを変数としてその変数と係数との乗算を含む式に各時刻におけるメトリックを代入して、係数を算出し、算出した係数の分散が閾値以下であれば係数に基づいてメトリックの相関性を導出する構成であってもよい。
システム構成候補列挙手段が、基準となる一つの層におけるシステム構成要素の台数毎に、性能プロファイルに基づいて基準となる層での台数での処理量を求め、その処理量と、メトリック間の相関性とに基づいて、他の層における処理量を算出し、他の層における処理量を処理可能な台数を性能プロファイルから導出することによってシステム構成候補を導出する構成であってもよい。
システム構成候補列挙手段が、メトリックの相関性から各層の処理量比を求め、各層のシステム構成要素の数を初期値に定め、性能プロファイルから各層の処理量比を求め、性能プロファイルより求めた処理量比の各項を、メトリックの相関性から求めた処理量比の対応する各項で除算した除算結果が最も小さい項に対応する層のシステム構成要素を特定し、その層のシステム構成要素の台数を追加することを繰り返すことによってシステム構成候補を導出する構成であってもよい。
また、本発明のシステム構成候補導出プログラムは、同種のソフトウェアが搭載されそのソフトウェアに従って動作するシステム構成要素の集合である層を複数含む管理対象システムの構成の候補であるシステム構成候補を導出するコンピュータに搭載されるシステム構成候補導出プログラムであって、コンピュータに、管理対象システムの負荷状況を示すメトリックの相関性を、管理対象システムのメトリックを計測して導出する要素間相関性導出処理、およびシステム構成要素の台数とその台数のシステム構成要素の処理量との関係を導出可能な情報である性能プロファイルと、メトリックの相関性とに基づいて、システム構成候補を導出するシステム構成候補列挙処理を実行させることを特徴とする。
コンピュータに、要素間相関性導出処理で、時間経過に伴いメトリックを継続して計測し、メトリックを変数としてその変数と係数との乗算を含む式に各時刻におけるメトリックを代入して、係数を算出し、算出した係数の分散が閾値以下であれば係数に基づいてメトリックの相関性を導出する処理を実行させるプログラムであってもよい。
コンピュータに、システム構成候補列挙処理で、基準となる一つの層におけるシステム構成要素の台数毎に、性能プロファイルに基づいて基準となる層での台数での処理量を求め、その処理量と、メトリック間の相関性とに基づいて、他の層における処理量を算出し、他の層における処理量を処理可能な台数を性能プロファイルから導出することによってシステム構成候補を導出する処理を実行させるプログラムであってもよい。
コンピュータに、システム構成候補列挙処理で、メトリックの相関性から各層の処理量比を求め、各層のシステム構成要素の数を初期値に定め、性能プロファイルから各層の処理量比を求め、性能プロファイルより求めた処理量比の各項を、メトリックの相関性から求めた処理量比の対応する各項で除算した除算結果が最も小さい項に対応する層のシステム構成要素を特定し、その層のシステム構成要素の台数を追加することを繰り返すことによってシステム構成候補を導出する処理を実行させるプログラムであってもよい。
また、本発明のシステム構成候補導出方法は、同種のソフトウェアが搭載されそのソフトウェアに従って動作するシステム構成要素の集合である層を複数含む管理対象システムの構成の候補であるシステム構成候補を導出するシステム構成候補導出方法であって、要素間相関性導出手段が、管理対象システムの負荷状況を示すメトリックの相関性を、管理対象システムのメトリックを計測して導出し、システム構成候補列挙手段が、システム構成要素の台数とその台数のシステム構成要素の処理量との関係を導出可能な情報である性能プロファイルと、メトリックの相関性とに基づいて、システム構成候補を導出することを特徴とする。
本発明によれば、システム構成候補列挙手段が、システム構成要素の台数とその台数のシステム構成要素の処理量との関係を導出可能な情報である性能プロファイルと、メトリックの相関性とに基づいて、システム構成候補を導出するので、一部の層のシステム構成要素が過剰に多かったり少なかったりすることのないシステム構成候補を導出することができる。
以下、本発明の実施の形態を図面を参照して説明する。
実施の形態1.
図1は、本発明の第1の実施の形態のシステム構成候補導出装置の例を示すブロック図である。本発明のシステム構成候補導出装置は、データ処理装置100と、システム操作記憶手段140とを備える。
データ処理装置100は、管理対象となる管理対象システム(以下、対象システムと記す。)160に接続される。図2は、データ処理装置100に接続される対象システム160の例を示す説明図である。図2では、対象システムを構成するサーバ、通信ネットワーク、ルータ、ロードバランサ、層を、図17と同一の符号を付して示し、これらのサーバ等の装置や各通信ネットワークの詳細な説明を省略する。ただし、対象システム160に属する層は、Web層、AP層、DB層に限定されるわけではないので、以下、対象システム160に属する層を第1層、第2層、第3層と記す。図2では、対象システム160がこれら3つの層を含む場合を例示しているが、対象システム160に含まれる層は3つに限定されない。
既に説明したように、層とは、同種のソフトウェアが搭載されそのソフトウェアに従って動作するコンピュータの集合である。同じ層に属する装置に同一のソフトウェアが搭載されていてもよい。以下、層を構成するコンピュータ(同種のソフトウェアが搭載されそのソフトウェアに従って動作するコンピュータ)に該当するサーバをシステム構成要素と記す。また、システム構成要素(サーバ)を追加または除外する操作の対象となる装置やソフトウェアを操作対象要素と記す。操作対象要素の例として、対象システム160に含まれるロードバランサ240やルータ251,252が挙げられる。各サーバ211,221,231も操作対象要素に該当する。また、各サーバ211,221,231、ロードバランサ240、ルータ251,252に搭載されるソフトウェア(例えば、ミドルウェア、アプリケーションソフトウェア等)も操作対象要素に該当する。
システム構成要素(サーバ)を追加または除外する操作は、操作対象要素に対する操作の集合となる。例えば、ある層にサーバを追加する操作は、「物理的には通信ネットワークに接続されているが通信ネットワークを介して通信可能となっていないサーバを通信可能となるように設定変更する。」、「サーバにソフトウェアをインストールする。」、「ソフトウェアを起動する。」、「通信不能となるようにサーバの設定を変更する。」、「ソフトウェアを終了する。」、「サーバからソフトウェアを削除する。」等の操作対象要素に対する操作の集合によって表される。システム操作記憶手段140は、各層毎に、サーバを追加する場合およびサーバを除外する場合における操作対象要素に対する操作の情報を記憶する記憶装置である。システム操作記憶手段140が記憶する操作の情報は、例えば、UNIX(登録商標)におけるシェルスクリプトやWS−BPEL(Web Services Business Process Execution Language)のようなワークフロー言語等の形式で記述される。ただし、ここで示したシェルスクリプトやWS−BPELは例示であり、システム操作記憶手段140が記憶する操作の情報は他の形式で記述されていてもよい。
データ処理装置100は、対象システム160の負荷状況を監視(計測)し、計測した項目の相関性に基づいてシステム構成変更ルールを生成する。
データ処理装置100は、要素間相関性導出手段110と、性能プロファイル手段120と、システム構成候補列挙手段131と、有効範囲計算手段132と、トリガ生成手段133と、操作系列生成手段134と、ルール生成手段130とを備える。
要素間相関性導出手段110は、対象システム160のシステム構成要素であるサーバのメトリックを計測し、相関性を有するメトリックの組み合わせを特定し、そのメトリック間の相関性を導出する。
メトリックとは、管理対象システムの負荷状況を表す計測項目である。メトリックの例として、各層210,220,230に属する各サーバのCPU使用率やメモリ使用量、同じ層に属する各サーバが単位時間当たりに受信したリクエストの総数などが挙げられる。これらは、メトリックの例示であり、要素間相関性導出手段110が計測するメトリックは、例示した上記のメトリックに限定されない。
また、相関性とは、あるメトリックの値が変動すると、その変動に伴って他のメトリックの値も変動するメトリック間の関係性である。例えば、第1層210の各サーバ211がロードバランサ240から単位時間当たりに受信するリクエスト数が増加したとする。そして、各サーバ211がそのリクエストに応じて、第2層220のサーバ221に処理を要求したとする。すると、第2層220のサーバ221が第1層の各サーバ211から受信する単位時間当たりのリクエスト数も増加する。従って、第1層210の各サーバ211がロードバランサ240から単位時間当たりに受信するリクエストの総数と、第2層220のサーバ221が第1層の各サーバ211から単位時間当たりに受信するリクエストの総数との間には相関性があることになる。要素間相関性導出手段110は、これらの相関性を有するメトリックの組み合わせを特定し、そのメトリック間の相関性を導出する。
性能プロファイル手段120は、システム構成候補列挙手段131および有効範囲計算手段132に性能プロファイルを提供する。
性能プロファイルとは、システム構成要素(サーバ)の台数とその台数のシステム構成要素の処理量との関係を導出可能な情報である。性能プロファイルは、システム構成要素となるサーバの台数とその台数のサーバの処理量との関係を直接示した情報であってもよい。また、性能プロファイルは、サーバの単位台数(1台)当たりの処理量を示した情報であってもよい。サーバ1台当たりの処理量にサーバの台数を乗じれば、サーバの台数とその台数のサーバの処理量との関係を導出することができる。
図3は、サーバの台数とその台数のサーバの処理量との関係を直接示した性能プロファイルの例を示す説明図である。サーバの台数とその台数のサーバの処理量との関係を直接示す場合、図3に例示するように、メトリック毎に、サーバの台数とサーバの処理量との関係をまとめた情報が性能プロファイルとなる。例えば、図3に示すメトリック1が、第1層210のサーバ211がロードバランサ240から単位時間当たりに受信するリクエストの総数であるとする。図3に示す例では、サーバ211が1台では単位時間当たり70のリクエストまで処理可能であり、サーバ211が2台では単位時間当たり140のリクエストまで処理可能である等の台数と処理量との関係を示している。同様に、例えば、図3に示すメトリック2が、第2層220の各サーバ221が単位時間当たりに行うトランザクションの総数であるとする。図3に示す例では、サーバ221が1台では単位時間当たり25のトランザクションを実行可能であり、サーバ221が2台では単位時間当たり50のトランザクションを実行可能である等の台数と処理量との関係を示している。なお、図3に示す例では、サーバ台数が4台から5台になっても、単位時間当たりのトランザクション数が変化していないが、これはサーバを4台以上増やしてもそのサーバが属する層全体の処理量(性能)を上げられないことを意味している。換言すれば、サーバを4台まで増やすとサーバが属する層全体の処理量が飽和することを意味している。
図4は、サーバの単位台数当たりの処理量を示した性能プロファイルの例を示す説明図である。サーバの単位台数当たりの処理量を示す場合、図4に例示するように、メトリックと、単位台数当たりの処理量と、限界台数とが対応付けられる。図3で例示場合と同様に図4においても、メトリック1が、第1層210のサーバ211がロードバランサ240から単位時間当たりに受信するリクエストの総数であるとする。図4に示す例では、サーバ211の単位台数(1台)当たり単位時間に70のリクエストまで処理可能であることを示している。また、限界台数は、サーバが属する層全体の処理量が飽和するサーバ台数を意味している。従って、本例では、サーバ211を10台まで増やせば処理量を70・10=700まで上げられるが、さらにサーバ台数を増やしても処理量をそれ以上増加させられないことを意味している。
図3および図4では2種類のメトリックに関する性能プロファイルを例示しているが、性能プロファイルは2種類のメトリックに関するものだけに限定されない。
また、処理性能として、例えば、リクエスト数、トランザクション数、クエリ数等の数を示す場合、単位時間当たりに処理可能な数として示せばよい。
システム構成候補列挙手段131は、システム構成候補を導出する。システム構成候補は、対象システムの構成の候補である。対象システム16は、各層毎にシステム構成要素(サーバ)を含んでいるが、各層のサーバ台数が任意の数となっていると、バランスのとれたシステム構成にならない。例えば、いずれかの層に属するサーバ台数によって実現される処理性能が、他の層に属するサーバ台数によって実現される処理性能に比べて低い場合には、処理性能の低い層がボトルネックとなってしまい、全体的にバランスのとれたシステム構成とはならない。また、例えば、いずれかの層に属するサーバ台数によって実現される処理性能が、他の層に属するサーバ台数によって実現される処理性能に比べて高い場合には、処理性能の高い層ではサーバ台数が多すぎて処理性能に寄与しないサーバが存在していることになる。この場合もバランスのとれたシステム構成にならない。なお、バランスのとれたシステム構成とは、いずれの層においても処理性能に寄与しないサーバが存在しない構成である。
一つの層に含めることのできるサーバ台数に上限がある場合がある。例えば、ルータ等のネットワーク機器のポート数が限られている、あるいは管理者が所有しているサーバ台数に限りがあるといった物理的な理由で一つの層におけるサーバ台数が制限される場合もある。また、サーバにインストールするために購入したソフトウェアの動作上の制限(例えば、ソフトウェアが動作可能な台数や構成に制限がある、あるいは購入したライセンス数に限りがある等)によって、一つの層におけるサーバ台数が制限される場合もある。図2に示す各層210,220,230では、いずれも設置できるサーバ台数が10台であるとする。すると、各層に設置するサーバ台数の組み合わせは、10×10×10=1000通り存在することになるが、全ての組み合わせがバランスのとれた構成になるわけではない。例えば、第1層210のサーバ211を10台とし、他の層のサーバをそれぞれ1台とするような構成では、第1層210のサーバ台数が過剰であり、そのサーバを有効に活用することにならないのでバランスのとれた構成であるとはいえない。
システム構成候補列挙手段131は、メトリックの相関性と性能プロファイルとによって、バランスのとれたシステム構成候補を導出する。システム構成候補列挙手段131が導出するシステム構成候補は一つに限られるわけではなく、システム構成候補列挙手段131はバランスのとれたシステム構成候補を列挙する。
なお、データ処理装置100は、予め定められた各層毎のサーバ台数の上限値を記憶した記憶装置(図示せず。)を備えていてもよい。また、この記憶装置は、予め定められた各層毎にサーバ台数の下限値を記憶していてもよい。以下、この記憶装置(図示せず。)を台数限界値記憶手段と記す。
有効範囲計算手段132は、システム構成候補列挙手段131によって導出されたシステム構成候補と、性能プロファイルと、メトリックの相関性とによって、各システム構成候補毎に、各層で処理可能な負荷の範囲を計算する。
各層における処理可能な負荷の範囲は、その層のサーバの処理性能とサーバ台数のみによって決定されるわけではなく、メトリックの相関性にも依存する。例えば、あるシステム構成候補では、第1層210,第2層220および第3層230でのサーバ台数がそれぞれ1台と定められていたとする。また、各層のサーバ211,221,231の処理数がそれぞれ、70,50,25であったとする。そして、第1層のサーバ211が1処理を実行するためには、第2層のサーバ221が2処理を実行し、第3層のサーバ231が1処理を実行しなければならないとする。第1層のサーバ211は、1台で70処理を行えるが、そのためには第2層のサーバ221が140処理を実行し、第3層のサーバ231が70処理を行わなければならいが、上記の例では、第2層のサーバ221、第3層のサーバ231は、それぞれ50処理、25処理しか実行しない。よって、「第1層のサーバ211が1処理を実行するためには、第2層のサーバ221が2処理を実行し、第3層のサーバ231が1処理を実行しなければならないとする。」という関係によって、第1層から第3層までの各層の各サーバが処理可能な負荷の範囲(以下、有効範囲と記す。)は、それぞれ25処理、50処理、25処理となる。
有効範囲計算手段132は、このような有効範囲の組み合わせを、システム構成候補列挙手段131によって導出された各システム構成候補毎に算出する。
あるシステム構成候補が「第1層のサーバ211が1台。第2層のサーバ221が1台。第3層のサーバ231が1台。」という構成であったとする。このシステム構成候補における有効範囲が「第1層のサーバ211では0〜25処理。第2層のサーバ221では0〜50処理。第3層のサーバ231では0〜25処理。」と計算されたとする。また、あるシステム構成候補が「第1層のサーバ211が1台。第2層のサーバ221が2台。第3層のサーバ231が2台。」という構成であったとする。このシステム構成候補における有効範囲が「第1層のサーバ211では0〜50処理。第2層のサーバ221では0〜100処理。第3層のサーバ231では0〜50処理。」と計算されたとする。
上記のように、あるシステム構成候補から他のシステム構成候補に切り替えると、有効範囲も変化する。システム構成候補列挙手段131によって導出されたシステム構成候補を、各層のサーバ台数がそれぞれ増加していくように昇順に並べ、その順番に有効範囲を並べたとする。そのとき、順番に並ぶ有効範囲において、先に並んだ方の有効範囲の上限を有効範囲の境界と呼ぶ。例示した「第1層のサーバ211では0〜25処理。第2層のサーバ221では0〜50処理。第3層のサーバ231では0〜25処理。」という有効範囲と、「第1層のサーバ211では0〜50処理。第2層のサーバ221では0〜100処理。第3層のサーバ231では0〜50処理。」という有効範囲とに関しては、有効範囲の境界は「第1層では25、第2層では50、第3層では25。」となる。
ここで、本発明のシステム構成候補導出装置が生成するシステム構成変更ルールについて説明する。システム構成変更ルールは、if−then形式のルールであり、対象システム16の負荷に関する条件と、その条件が満たされたときの対象システムに関する操作の情報を含んでいる。以下、システム構成変更ルールの条件の部分をトリガと記す。また、トリガが満たされたときには、サーバを追加したり、除外したりする操作を行う。この操作は、操作対象要素に対する操作の集合となる。さらに、サーバを追加したり、除外したりする操作は、1つの層についてのみ行うとは限らず、複数の層について行う場合もある。操作すべき各層毎の操作対象要素に対する操作の集合を操作系列と記す。すなわち、システム構成変更ルールは、トリガと操作系列とを含み、トリガが満たされたときに、操作系列に含まれる個々の操作をそれぞれ実行すべきことを表している。
トリガ生成手段133は、各システム構成候補毎に算出された有効範囲の境界に基づいて、トリガを生成する。例えば、第1層210の有効範囲が、あるシステム構成候補では“0〜25”であり、他のシステム構成候補では“0〜50”であり、有効範囲の境界が“25”であったとする。トリガ生成手段133は、その境界よりも所定数低い値、あるいは境界の値の所定の割合(例えば90%)のような値を求め、その値をトリガとする。すなわち、トリガは、境界の値よりも低い値として計算する。このようにトリガを求めることによって、対象システム16内の負荷が上昇している場合には、対象システム16のシステム構成で負荷に耐えられなく前に、よりサーバ数の多いシステム構成候補への切り替えを指示するシステム構成変更ルールを生成することができる。また、対象システム16内の負荷が現象している場合には、切り替え後のシステム構成候補の構成で処理可能な負荷まで低下したときに、よりサーバ数の少ないシステム構成候補への切り替えを指示するシステム構成変更ルールを生成することができる。
操作系列生成手段134は、システム構成候補列挙手段131によって導出されたシステム構成候補を各層のサーバ台数がそれぞれ増加していくように昇順に並べたときに、順番に並ぶシステム構成候補の差分を求める。すなわち、順番に並べられて隣り合うシステム構成候補において、一方のシステム構成候補のみに含まれるシステム構成要素(サーバ)を求める。操作系列生成手段134は、差分となるサーバを層に追加するための操作の情報をシステム操作記憶手段140から読み込む。差分となるサーバを層に追加するための操作の情報として、システム操作記憶手段140から読み込まれた情報の集合は操作系列となる。また、操作系列生成手段134は、差分となるサーバを層から除外するための操作の情報も、システム操作記憶手段140から読み込む。差分となるサーバを層から除外するための操作の情報として、システム操作記憶手段140から読み込まれた情報の集合も操作系列となる。
ルール生成手段130は、トリガ生成手段133によって生成されたトリガと、操作系列生成手段134によってシステム操作記憶手段140から読み出された操作系列とを組み合わせてシステム変更ルールを生成する。
図1および図2に示すようにデータ処理装置100(ルール生成手段130)は監視システム170に接続されていてもよい。そして、ルール生成手段130は、生成したシステム構成変更ルールを監視システム170に送信してもよい。監視システム170は、対象システム160の負荷状況を監視し、トリガが満たされた場合に、そのトリガに対応する操作系列に従って対象システム160に対してサーバの追加操作あるいは除外操作を行う。
なお、ここでは、データ処理装置100(ルール生成手段130)が監視システム170に接続され、ルール生成手段130がシステム構成変更ルールを監視システム170に送信する場合を例示したが、システム構成変更ルールを監視システム170に提供する態様は他の態様であってもよい。例えば、ルール生成手段130が記憶媒体にシステム構成変更ルールを記憶させ、管理者が監視システム170にその記憶媒体からシステム構成変更ルールを読み込ませてもよい。
要素間相関性導出手段110、性能プロファイル手段120、システム構成候補列挙手段131、有効範囲計算手段132、トリガ生成手段133、操作系列生成手段134、およびルール生成手段130は、例えば、プログラムに従って動作するコンピュータ(中央処理装置)によって実現される。上記の各手段が、同一の中央処理装置によって実現されていてもよい。
次に、動作について説明する。図5は、第1の実施の形態のシステム構成候補導出装置の処理経過の例を示すフローチャートである。
まず、要素間相関性導出手段110が、対象システム160のシステム構成要素であるサーバのメトリックを計測する(ステップA1)。メトリックの例として、サーバのCPU使用率やメモリの使用量、サーバが受信した単位時間当たりのリクエスト数等が挙げられる。サーバのCPUは、サーバに搭載されているOS(Operating System)に従って、CPU使用率やメモリの使用量を出力する。要素間相関性導出手段110は、例えば、サーバに対して、CPU使用率やメモリの使用量を要求し、サーバからそれらの情報を受信すればよい。また、サーバのCPUは、サーバに搭載されているソフトウェアに従って、受信したリクエスト数等をログに記録している。要素間相関性導出手段110は、例えば、サーバに対してログを要求してサーバからログを受信し、そのログから単位時間当たりのリクエスト数等のメトリックを求めてもよい。また、監視システム170が上記のようにメトリックを収集し、要素間相関性導出手段110がそのメトリックを監視システム170から受信してもよい。
要素間相関性導出手段110は、ある時点でのメトリックだけを計測するのでなく、時間経過に伴ってメトリックの計測を継続して行う。例えば、要素間相関性導出手段110は、定期的に各メトリックを計測する。
次に、要素間相関性導出手段110は、計測したメトリックに基づいて、相関性を有するメトリックの組み合わせを特定し、そのメトリック間の相関性を導出する(ステップA2)。以下、ステップA2の動作について詳細に説明する。
要素間相関性導出手段110は、ステップA1で計測したメトリックから2つのメトリックを選択し、回帰分析によって、その2つのメトリックに相関性があるか否かを判定する。2つのメトリック間に相関性として比例関係があるか否かが判定できればよい場合には、y=a・xという一次式を用いて回帰分析を行えばよい。この回帰分析は以下のように行えばよい。2つのメトリックM,Mの時刻tにおける測定結果をそれぞれM(t),M(t)とする。要素間相関性導出手段110は、各時刻(ここでは時刻を便宜的にt=0,1,2,・・・と表す。)におけるメトリックM(t),M(t)を、y=M(t),x=M(t)としてy=a・xに代入する。すると、以下のように多数の式が得られる。
(0)=a・M(0),
(1)=a・M(1),
(2)=a・M(2),
(3)=a・M(3),
・・・
要素間相関性導出手段110は、上記の各式からそれぞれ一次式の係数aを算出する。M(0),M(0)等の各値はステップA1で計測されているので、上記の各式におけるaを、例えば、M(0)/M(0)という除算によって算出することができる。続いて、要素間相関性導出手段110は、各式からそれぞれ求めた係数aの分散を計算し、その分散が予め定められた閾値以下であるか否かを判定する。aの分散が閾値以下であれば、要素間相関性導出手段110は、二つのメトリックM,M間には相関性があり、MとMの処理量の比が1:aであると判定する。MとMの処理量の比として求めた「1:a」における“a”は、各式から求めたaの平均値である。
例えば、メトリックMが第1層210(図1参照。)の各サーバがロードバランサ240から単位時間当たりに受信したリクエストの総数であり、メトリックMが第2層220の各サーバが第1層のサーバからの要求に応じて単位時間に実行した総トランザクション数であるとする。上記のように、MとMの処理量の比が1:aであるということは、第1層210のサーバが1つのリクエストを受信すると、第2層のサーバでa個のトランザクションが生じることを意味している。
また、aの分散が予め定められた閾値よりも大きな値であれば、二つのメトリックM,M間には相関性がないと判定し、別のメトリックの組み合わせを選択し、同様の処理を繰り返す。なお、メトリックの組み合わせの選択順序は、予め定めておけばよい。
上記の例では、y=a・xという単純な一次式を用いた回帰分析によって相関性の有無を判定する場合を例示したが、回帰分析に用いる式(以下、回帰式と記す。)は、y=a・x+bという定数項bを含む式であってもよい。この場合、要素間相関性導出手段110は、各時刻におけるメトリックM(t),M(t)を、y=M(t),x=M(t)としてy=a・x+bに代入する。すると、すると、以下のように多数の式が得られる。
(0)=a・M(0)+b,
(1)=a・M(1)+b,
(2)=a・M(2)+b,
(3)=a・M(3)+b,
・・・
要素間相関性導出手段110は、上記の各式からそれぞれa,bを求める。要素間相関性導出手段110は、例えば、最小二乗法を用いて、a,bを算出してもよい。また、2つの式の組み合わせからならなる連立方程式の解としてa,bを算出してもよい。次に、要素間相関性導出手段110は、算出した各a、各bの分散をそれぞれ算出する。要素間相関性導出手段110は、a,bの分散がそれぞれ予め定められた閾値以下であるか否かを判定し、aの分散およびbの分散がそれぞれ閾値以下であれば、二つのメトリックM,M間には相関性があり、MとMの処理量の比が1:aであると判定する。MとMの処理量の比として求めた「1:a」における“a”は、各式から求めたaの平均値である。aの分散およびbの分散のいずれか一方あるいは両方が閾値を超えていれば、M,Mに相関性はないと判定する。なお、aの分散との比較に用いる閾値と、bの分散との比較に用いる閾値とは同一の値でなくてもよい。
また、回帰式として、時間遅れを考慮した回帰式を用いて相関性の有無を判定してもよい。時間遅れを考慮した回帰式は、y(t)+a・y(t−1)+a・y(t−2)+・・・=b・x(t)+b・x(t−1)+b・x(t−2)+・・・と表される。ここでは、y(t)+a・y(t−1)+a・y(t−2)=b・x(t)+b・x(t−1)+b・x(t−2)という回帰式を例にして説明する。要素間相関性導出手段110は、各時刻におけるメトリックを上記の回帰式に代入する。すると、以下のように多数の式が得られる。
(2)+a・M(1)+a・M(0)=b・M(2)+b・M(1)+b・M(0),
(3)+a・M(2)+a・M(1)=b・M(3)+b・M(2)+b・M(1),
・・・
要素間相関性導出手段110は、上記の各式からそれぞれ係数a,a,b〜bを求める。要素間相関性導出手段110は、例えば、最小二乗法を用いてこれらの係数を算出すればよい。次に、要素間相関性導出手段110は、算出した各係数a,a,b〜bの分散をそれぞれ算出する。要素間相関性導出手段110は、係数a,a,b〜bの分散がそれぞれ予め定められた閾値以下であるか否かを判定し、各係数の分散がそれぞれ閾値以下であれば、二つのメトリックM,M間には相関性があり、MとMの処理量の比が1:Pであると判定する。ここで、Pは、以下のように求めればよい。各式からa,a,b〜bを求めたならば、要素間相関性導出手段110は、aの平均値を算出する。同様に、a,b,b,bについてもそれぞれ平均値を算出する。要素間相関性導出手段110は、左辺の各係数の平均値の和であるa+a=Σaと、右辺の各係数の平均値の和であるb+b+b=Σbとをそれぞれ算出し、Σb/Σa=Pとして、上記の処理量の比1:Pを導出すればよい。
上記の各例であh、二つのメトリックM,M間には相関性の有無を判定したが、さらに、例えば、メトリックM,Mの相関性の有無を判定し、相関性があると判定した場合には、M,Mの処理量の比およびM,Mの処理量の比に基づいて、M,M,Mの処理量の比を導出してもよい。
また、性能プロファイル手段120は、性能プロファイル(サーバの台数とその台数のサーバの処理量との関係を導出可能な情報)を生成する(ステップA3)。性能プロファイル手段120は、生成した性能プロファイルをシステム構成候補列挙手段131および有効範囲計算手段132に渡す。性能プロファイル手段120は、対象システム160のサーバに実際に負荷をかけて性能プロファイルを導出してもよい。例えば、性能プロファイル手段120は、対象システム160において動作可能なサーバの台数等の対象システムの構成を取得する。そして、性能プロファイル手段120は、ある層のサーバに対してリクエストを送出しそのリクエストが処理できなくなるまで単位時間当たりのリクエスト数を増加させていき、1台のサーバが処理可能な単位時間当たりのリクエスト数を判定してもよい。また、1台のサーバで処理できなくなった場合に、2台のサーバに対してリクエストを送信して、単位時間当たりのリクエスト数を増加させていき、2台のサーバで処理可能な単位時間当たりのリクエスト数を判定してもよい。さらに、複数のサーバで処理できなくなった場合には、さらにリクエストを送信するサーバの台数を増やして同様に、処理可能な単位時間当たりのリクエスト数を順次判定していけばよい。ここでは、処理可能な単位時間当たりのリクエスト数を例にして説明したが、他のメトリックに関する性能プロファイル(例えば、単位時間当たりのトランザクション数や単位時間当たりのクエリに関する性能プロファイル)も同様に導出すればよい。
また、上記の説明では、性能プロファイル手段120自身が性能プロファイルを導出する場合を示したが、予め管理者などによって性能プロファイルが用意され、性能プロファイル手段120が予めその性能プロファイルを記憶している構成であってもよい。性能プロファイル手段120が予め性能プロファイルを記憶している場合には、ステップA3(性能プロファイル生成処理)を行わなくてもよい。また、この場合、システム構成候補列挙手段131および有効範囲計算手段132は、性能プロファイル手段120から性能プロファイルを読み込む。
性能プロファイル手段120によらずに性能プロファイルを用意する態様として、実際に運用されている対象システム160の動作実績から性能プロファイルを決定してもよい。例えば、対象システム160の動作が級にスローダウンしたときの負荷(例えば、リクエスト数、トランザクション数、クエリ数等)をログから読み取り、その負荷を用いて性能プロファイルを決定してもよい。
また、対象システム160内で運用されているサーバを対象システムから取り出したり、あるいは対象システム160内で運用されているサーバと同じスペックのサーバを用意して、そのサーバに対して模擬的に負荷をかけて処理性能を計測することによって性能プロファイルを決定してもよい。例えば、サーバにダミーリクエストを与え、そのときの処理性能(例えば、応答時間や、単位時間当たりに処理可能なリクエスト数等)を計測すればよい。また、所望の台数のサーバの処理性能を計測するには、手動あるいは自動でサーバの数を増減して、負荷(例えばダミーリクエスト)を与えればよい。
ステップA3の後、システム構成候補列挙手段131は、メトリックの相関性と性能プロファイルとによって、バランスのとれたシステム構成候補を導出する(ステップA4)。ここで、システム構成候補列挙手段131は、メトリックの相関性の具体的な内容として、ステップA2で導出されたメトリックの処理量の比を参照する。また、システム構成候補列挙手段131は、性能プロファイル手段120が導出した(あるいは性能プロファイル手段120が予め記憶している)性能プロファイルを参照する。
システム構成候補列挙手段131は、ステップA2で導出されたメトリックの処理量の比を、各層のシステム構成要素の台数比に変換する。この変換によって得られた各層のシステム構成要素の台数が、システム構成候補となる。メトリックの処理量の比を、各層のシステム構成要素の台数比に変換する方法として、以下に示す2つの方法がある。
第1の方法は、基準となる層を一つ定め、その層のシステム構成要素をいくつにするのかを仮に決め、さらに、他の各層のシステム構成要素の数を決定する方法である。
第1の方法では、システム構成候補列挙手段131は、基準となる層と、その層のシステム構成要素Eの台数nを定める。基準となる層は予め決められていてもよい。例えば、図2に示す各層のうち、第1層210(第2層や第3層であってもよい。)が基準となる層として予め決められていてもよい。システム構成候補列挙手段131は、基準となる層のシステム構成要素E(本例では第1層210のサーバ211)の台数nを仮に定める。
システム構成候補列挙手段131は、性能プロファイルを参照し、基準となる層のシステム構成要素E(以下、サーバ211であるものとして説明する。)の台数がn台であったときの、サーバ211のメトリックの処理量を参照する。このメトリックをMとし、サーバ211がn台のときのメトリックMの処理量がPであったとする。また、システム構成候補列挙手段131は、基準となる層のサーバ211のメトリックMの処理量として、他の層のサーバのメトリックとの間に相関性を有しているメトリックMの処理量を参照する。
次に、システム構成候補列挙手段131は、ステップA2で導出されたメトリックの処理量の比から、メトリックMと相関性を有している他の層のメトリックMに要求される処理量を算出する。ステップA2で導出されたメトリックM,Mの処理量の比が、j:kであったとする。システム構成候補列挙手段131は、メトリックMに要求される処理量Pを、P:P=j:kが満足される値として算出する。そして、システム構成候補列挙手段131は、メトリックMに関して処理量Pを実現可能な他の層のシステム構成要素(他の層のサーバ)の台数を、性能プロファイルを参照して求める。システム構成要素となるサーバの台数とその台数のサーバの処理量との関係を導出可能な情報であるので、処理量Pを実現可能なシステム構成要素の台数を性能プロファイルから求めることができる。
このようにして、システム構成候補列挙手段131は、基準となる層のシステム構成要素の台数をnとしたときの他の層のシステム構成要素の台数を、各層毎に順次算出する。このようにして得られた、基準となる層のシステム構成要素の台数n、および他の各層のシステム構成要素の台数の組み合わせが、一つのシステム構成候補となる。
システム構成候補列挙手段131は、基準となる層のシステム構成要素の台数を変化させ、同様にシステム構成候補を順次導出していく。例えば、基準となる層のシステム構成要素の台数が1台のときのシステム構成候補、2台のときのシステム構成候補、3台のときのシステム構成候補、・・・と順に、システム構成候補を導出していけばよい。
第2の方法は、最小のシステム構成から、処理量が相対的に不足しているシステム構成要素の数を増加させていくことで各層の台数比を求める方法である。
第2の方法の場合、システム構成候補列挙手段131は、層が異なるシステム構成候補のメトリックの処理量の比を元にして、各層のシステム構成候補のメトリックの処理量の比を求める。例えば、第1層のシステム構成要素のメトリックMと第2層のシステム構成要素のメトリックMの処理量の比だけでは、第3層のシステム構成要素のメトリックの処理量との関係が分からない。そこで、第3層のシステム構成候補のメトリックMと、M(Mでもよい。)との処理量の比と、MとMの処理量の比とから、システム構成候補列挙手段131は、M,M,Mの処理量の比を求める。MとMの処理量の比と、MとMの処理量の比とから、M,M,Mの処理量の比を求める場合、2つの比(本例ではMとMの比、およびMとMの比)に共通するメトリックMの値を共通化して、各比をつなげればよい。例えば、MとMの処理量の比が1:2であり、MとMの処理量の比が2:1ならば、M,M,Mの処理量の比を1:2:1として求めればよい。以下、この比を、メトリックの相関性から求めた処理量比と記す。
システム構成候補列挙手段131は、最小のシステム構成となるような各層のシステム構成要素の台数を決定する。システム構成候補列挙手段131は、例えば、各層のシステム構成要素が1台ずつである構成を最小のシステム構成として、各層のシステム構成要素の数を全て1台と定めてもよい。各層のシステム構成要素をE,E,Eとし、各層のシステム構成要素の台数をn,n,nとする。ここでは、n=1,n=1,n=1である。この「n=1,n=1,n=1」という組み合わせは、システム構成候補の1つである。
システム構成候補列挙手段131は、性能プロファイルを参照して、各メトリックM,M,Mの処理量の比を求める。ここでは、n=1であるので、サーバが1台のときにおけるメトリックMに関する処理量(Pとする。)を性能プロファイルを参照して求めればよい。同様に、サーバが1台のときにおけるメトリックMの処理量(Pとする。)、およびサーバが1台のときにおけるメトリックMの処理量(Pとする。)も求める。システム構成候補列挙手段131は、処理量の比であるP:P:Pを、各メトリックM,M,Mの処理量の比とする。このP:P:Pを、性能プロファイルより求めた処理量比と記す。
次に、システム構成候補列挙手段131は、メトリックの相関性から求めた処理量比と、性能プロファイルより求めた処理量比とを比較して、相対的に性能プロファイルより求めた処理量比が最も小さくなっているシステム構成要素を特定する。この特定方法を具体的に示す。メトリックの相関性から求めた処理量比がp:q:rであり、性能プロファイルより求めた処理量比がs:t:uであるとする。システム構成候補列挙手段131は、性能プロファイルより求めた処理量比における各項をそれぞれ、メトリックの相関性から求めた処理量比における対応する各項で除算した相対比を求める。すなわち、システム構成候補列挙手段131は、s/p:t/q:u/rを求める。システム構成候補列挙手段131は、この相対比の各項のうち、最も小さい項に対応するシステム構成要素を、「相対的に性能プロファイルより求めた処理量比が最も小さくなっているシステム構成要素」として特定する。
例えば、メトリックの相関性から求めた処理量比p:q:r=1:1:1であり、性能プロファイルより求めた処理量比s:t:u=1:2:3であるとする。このとき、相対比は1:2:3となり、相対比における最小の項「1」に対応するシステム構成要素を、「相対的に性能プロファイルより求めた処理量比が最も小さくなっているシステム構成要素」とする。
また、例えば、メトリックの相関性から求めた処理量比p:q:r=1:2:3であり、性能プロファイルより求めた処理量比s:t:u=1:1:1であるとする。このとき、相対比は1:1/2:1/3となり、相対比における最小の項「1/3」に対応するシステム構成要素を、「相対的に性能プロファイルより求めた処理量比が最も小さくなっているシステム構成要素」とする。
「相対的に性能プロファイルより求めた処理量比が最も小さくなっているシステム構成要素」を特定したならば、そのシステム構成要素を1台増加する。例えば、「相対的に性能プロファイルより求めた処理量比が最も小さくなっているシステム構成要素」がEであったとする。すると、「n=1,n=1,n=1」というシステム構成要素に対し、Eの台数を一台増加し、「n=1,n=2,n=1」として、その台数の組み合わせをシステム構成候補の一つとして追加する。
以降、同様にして、システム構成候補列挙手段131は、「相対的に性能プロファイルより求めた処理量比が最も小さくなっているシステム構成要素」を特定し、そのシステム構成要素の台数を1台増加して新たなシステム構成候補とする処理を繰り返す。システム構成候補列挙手段131は、いずれかのシステム構成要素の台数が上限値に達するか、あるいはシステム構成要素を増やしても処理量が飽和する状態になるまで上記の処理を繰り返す。
なお、ここでは、増加するシステム構成要素の台数を1台ずつとしたが、2台以上ずつシステム構成要素を増加させながらシステム構成候補を定めていってもよい。
また、システム構成候補列挙手段131は、前述の台数限界値記憶手段(図示せず。)を参照して、いずれかのシステム構成要素の台数が上限値に達したか否かを判定すればよい。また、各層におけるサーバの台数の下限値が定められている場合には、システム構成候補列挙手段131は、その下限値よりも少ない台数を定めたシステム構成候補を、システム構成候補から除外する。
また、後述するように、サーバを通信ネットワークに接続させる態様として、物理的には通信ネットワークに接続されているがソフトウェアのインストールや通信を行うための設定が行われていないサーバに対して、ソフトウェアのインストールや通信を行うための設定を行う態様がある。このような態様でサーバを追加する場合、予め用意されて通信ネットワークに物理的に接続されている各層毎のサーバの台数を示す情報が、データ処理装置100が備える記憶装置に記憶されていてもよい。そして、この情報が示すサーバの台数の上限値として参照してもよい。
システム構成候補列挙手段131によってシステム構成候補が生成された後(ステップA4の後)、有効範囲計算手段132は、有効範囲(各層の各サーバが処理可能な負荷の範囲)を計算する(ステップA5)。以下、有効範囲の計算処理について説明する。
有効範囲計算手段132は、ステップA4の第2の方法と同様にして、「メトリックの相関性から求めた処理量比」を導出する。
また、有効範囲計算手段132は、ステップA4で導出された複数のシステム構成候補の中から一つのシステム構成候補を選択する。有効範囲計算手段132は、選択したシステム構成候補で定められている各層のシステム構成要素の台数に基づいて、ステップA4の第2の方法と同様に、「性能プロファイルより求めた処理量比」を導出する。
さらに、有効範囲計算手段132は、「メトリックの相関性から求めた処理量比」および「性能プロファイルより求めた処理量比」とから、ステップA4の第2の方法と同様に、「相対的に性能プロファイルより求めた処理量比が最も小さくなっているシステム構成要素」を特定する。そして、有効範囲計算手段132は、特定したシステム構成要素が、選択したシステム構成候補で何台に定められいるかを判定する。
有効範囲計算手段132は、性能プロファイルを参照して、その台数に応じた処理量を求める。この処理量をQとする。有効範囲計算手段132は、その処理量Qを基準として、他の層の処理量を、「メトリックの相関性から求めた処理量比」に基づいて算出する。例えば、「相対的に性能プロファイルより求めた処理量比が最も小さくなっているシステム構成要素」が第1層のサーバ211であり、システム構成候補で定められたサーバ211の台数に応じた第1層の処理量Qを求めたとする。このとき、第2層の処理量Q’および第3層の処理量Q’’を求める。有効範囲計算手段132は、Q:Q’:Q’’が「メトリックの相関性から求めた処理量比(例えば、p:q:r)」と等しくなるように第2層の処理量Q’および第3層の処理量Q’’を求める。すなわち、Q:Q’:Q’’=p:q:rとなるような処理量Q’,Q’’を求める。
有効範囲計算手段132は、このようにして求めた各層の処理量を、選択したシステム構成候補における各層の有効範囲の上限とする。また、有効範囲計算手段132は、選択したシステム構成候補における各層の有効範囲の下限をいずれも0に定める。上記の例の場合、第1層210の有効範囲は0〜Qであり、第2層220の有効範囲は0〜Q’であり、第3層230の有効範囲は0〜Q’’である。
有効範囲計算手段132は、選択したシステム構成候補に関して各層の有効範囲を求めたならば、未選択のシステム構成候補を選択し、同様にそのシステム構成候補における各層の有効範囲を求める。有効範囲計算手段132は、未選択のシステム構成候補がなくなるまで上記の処理を繰り返す。この結果、各システム構成候補毎に、システム構成候補に対応する有効範囲が導出される。
ステップA5の後、トリガ生成手段133は、有効範囲の境界(各有効範囲の上限)に基づいて、トリガを定める(ステップA6)。トリガ生成手段133は、システム構成候補列挙手段131によって導出されたシステム構成候補を、各層のサーバ台数(システム構成要素の台数)がそれぞれ増加していくように昇順に並べる。さらに、トリガ生成手段133は、そのシステム構成候補の順番に従って、各システム構成候補に対応する有効範囲(各層の有効範囲の組み合わせ)を順番に並べる。そして、順番に並ぶシステム構成候補の有効範囲の境界を特定する。例えば、あるシステム構成候補Aに対応する有効範囲(各層の有効範囲の組み合わせ)が、「第1層のサーバでは0〜Q。第2層のサーバでは0〜Q。第3層のサーバでは0〜Q。」であり、次のシステム構成候補Bに対応する有効範囲が、「第1層のサーバでは0〜Q’。第2層のサーバでは0〜Q’。第3層のサーバでは0〜Q’。」であったとする。トリガ生成手段133は、システム構成要素数が少ない方のシステム構成候補の有効範囲の上限を境界として特定する。本例では、有効範囲の境界を「第1層ではQ、第2層ではQ、第3層でQ」と特定する。
続いて、トリガ生成手段133は、特定した境界よりも所定数低い値をトリガとして定める。上記の例の場合、例えば、第1層のトリガをQ−k、第2層のトリガをQ−k、第3層のトリガをQ−kとして定める。なお、第1層のトリガがQ−kであるということは、第1層におけるメトリックがQ−kより低い値からQ−kまで上昇したら、より有効範囲の広いシステム構成候補に切り替えるべきであることを意味し、第1層におけるメトリックがQ−kより高い値からQ−kまで減少したら、より有効範囲の狭いシステム構成候補に切り替えるべきであることを意味する。
また、トリガ生成手段133は、特定した境界に所定の割合(100%よりも低い所定の割合)を乗じてトリガを定めてもよい。例えば、上記の例の場合、例えば、第1層のトリガを0.9・Q、第2層のトリガを0.9・Q、第3層のトリガを0.9・Qとして定めてもよい。
トリガ生成手段133は、システム構成候補の有効範囲の境界毎にトリガを定める。
次に、操作系列生成手段134は、システム構成候補の差分から、操作系列を生成する(ステップA7)。操作系列生成手段134は、各層のシステム構成要素の台数がそれぞれ増加していくように昇順に並べられたシステム構成候補において、連続して並んでいるシステム構成候補同士の差分をそれぞれ求める。すなわち、連続して並んでいる2つのシステム構成候補に関して、一方のシステム構成候補のみに含まれるシステム構成要素(サーバ)を求める。操作系列生成手段134は、差分となるサーバを層に追加するための操作の情報をシステム操作記憶手段140から読み込み、2つのシステム構成候補の差分となるサーバを追加するための操作の情報の集合を一つの操作系列とする。同様に、差分となるサーバを層から除外するための操作の情報をシステムシステム操作記憶手段140から読み込み、2つのシステム構成候補の差分となるサーバを除外するための操作の情報の集合を一つの操作系列とする。
操作系列生成手段134は、同様にして、連続して並ぶ2つのシステム構成候補毎に、その差分となるサーバを追加するための操作系列、および差分となるサーバを除外するための操作系列を定めていく。
なお、サーバを通信ネットワークに接続させる態様として、物理的に接続されていないサーバを人間が物理的に通信ネットワークに接続させ、そのサーバにソフトウェアをインストールしたり、そのサーバの設定を、通信ネットワークを介した通信が行えるように設定したりする態様がある。この接続態様では、操作対象要素に対する操作として、例えば、「サーバを物理的に通信ネットワークに接続させる。」、「サーバにソフトウェアをインストールする。」、「通信ネットワークを介して通信可能となるようにサーバの設定を変更する。」、「ソフトウェアを起動する。」等の操作が含まれる。物理的に接続されていないサーバを人間が物理的に通信ネットワークに接続させる場合には、「サーバを物理的に通信ネットワークに接続させる。」という操作の情報を含む情報をシステム操作記憶手段140から読み込み、「サーバを物理的に通信ネットワークに接続させる。」という操作の情報を含む操作系列を定める。
また、サーバを通信ネットワークに接続させる態様として、物理的には通信ネットワークに接続されているがソフトウェアのインストールや通信を行うための設定が行われていないサーバに対して、ソフトウェアのインストールや通信を行うための設定を行う態様がある。この場合には、例えば、「サーバを通信可能となるように設定変更する。」、「サーバにソフトウェアをインストールする。」、「ソフトウェアを起動する。」等の情報を含む操作系列を定めればよい。
サーバを通信ネットワークに接続させる態様を、上記の2つの態様のいずれかにするかは、予め定められ、その態様に応じた操作の情報が予めシステム操作記憶手段140に記憶される。
ステップA7において、システム構成候補同士の差分となるシステム構成要素を追加あるいは除外するための操作の情報がシステム操作記憶手段140に記憶されておらず、操作系列生成手段134がシステム操作記憶手段140から操作の情報を読み込むことができない場合には、操作系列生成手段134は、操作の情報を用意してシステム操作記憶手段140に記憶させるべきことを示すメッセージを出力する(例えば、メッセージをディスプレイ装置に表示させる)。
ステップA7の後、ルール生成手段130は、ステップA6で得られたトリガと、ステップA7で得られた操作系列とを組み合わせて、システム構成変更ルールを生成する(ステップA8)。トリガおよび操作系列は、連続して並ぶ2つのシステム構成候補毎に求められる。この2つのシステム構成候補の境界に基づいて求められたトリガが、2つのシステム構成候補の一方から他方に切り替えるトリガとなる。2つのシステム構成候補のうち、システム構成要素の少ない方のシステム構成候補からシステム構成要素の多い方のシステム構成候補に切り替えるシステム構成変更ルールは、その有効範囲の境界から求めたトリガと、差分となるサーバを追加するための操作系列とを組み合わせることによって生成すればよい。また、2つのシステム構成候補のうち、システム構成要素の多い方のシステム構成候補からシステム構成要素の少ない方のシステム構成候補に切り替えるシステム構成変更ルールは、その有効範囲の境界から求めたトリガと、差分となるサーバを除外するための操作系列とを組み合わせればよい。
なお、例えば、ルール生成手段130が監視システム170に、生成したシステム構成変更ルールを送信するなどして、監視システム170にシステム構成変更ルールを保持させる。監視システム170は、対象システム160の状態を監視し、保持しているシステム構成変更ルールのトリガを満足する状態になったならば、そのシステム構成変更ルールの操作系列に従ってサーバを追加したり、あるいはサーバを削除するための操作を行う。例えば、「サーバを通信可能となるように設定変更する。」、「サーバにソフトウェアをインストールする。」、「ソフトウェアを起動する。」、「通信不能となるようにサーバの設定を変更する。」、「ソフトウェアを終了する。」、「サーバからソフトウェアを削除する。」等の操作系列に含まれる個々の情報に従って、通信ネットワークを介してサーバの設定変更や、ソフトウェアのインストールや削除等の操作を行う。ただし、監視システム170は、サーバを物理的に通信ネットワークに接続させることはできない。そこで、「サーバを物理的に通信ネットワークに接続させる。」という操作に関しては、その操作情報をディスプレイ装置(図1において図示せず。)に表示して、管理者にサーバを物理的に通信ネットワークに接続すべきことを知らせる。
また、上記の説明では、要素間相関性導出手段110が回帰分析によって、相関性を有するメトリックの組み合わせや、メトリック間の相関性を導出する場合を示したが、要素間相関性導出手段110は、各層のサーバ211,221,231に搭載されているプログラムを解析することによって、相関性を有するメトリックの組み合わせや、メトリック間の相関性を導出してもよい。
次に、本実施の形態の効果について説明する。
本実施の形態によれば、要素間相関性導出手段110が、対象システム160のサーバのメトリックを計測し、計測したメトリック間の相関性を導出する。そして、システム構成候補列挙手段131が、メトリックの相関性と性能プロファイルとに基づいてシステム構成候補を導出する。従って、一部の層のシステム構成要素が過剰に多かったり少なかったりすることのない組み合わせをシステム構成候補として特定することができる。
また、本実施の形態によれば、有効範囲計算手段132が、システム構成候補毎に有効範囲(各層の各サーバが処理可能な負荷の範囲)を計算し、トリガ生成部133がその有効範囲の境界に基づいて対象システム160の構成を変更する条件(トリガ)を定める。また、操作系列生成手段134が、システム構成候補同士の差分(一方のシステム構成候補のみに含まれるシステム構成要素)を追加したり除外するための操作の情報をシステム操作記憶手段140から読み込み、自律制御ルール生成手段130がトリガと操作の情報の集合である操作系列とを組み合わせてシステム構成変更ルールを生成する。従って、人間の経験や実績によらずにシステム構成変更ルールを生成することができる。また、人間のスキルによらずにシステム構成変更ルールを生成することができるので、適切なシステム構成ルールを容易に生成することができる。
実施の形態2.
図6は、本発明の第2の実施の形態のシステム構成候補導出装置の例を示すブロック図である。第1の実施の形態と同様の構成部については図1と同一の符号を付し、説明を省略する。第2の実施の形態では、データ処理装置100は、要素間相関性導出手段110、性能プロファイル手段120、システム構成候補列挙手段131、有効範囲計算手段132、トリガ生成手段133、操作系列生成手段134、ルール生成手段130に加えて、システム構成候補絞込手段135を備える。
既に説明したように、有効範囲計算手段132は、選択する各システム構成候補における各層の有効範囲の下限をいずれも0に定める。従って、各システム構成候補の有効範囲の下限はいずれも0であり、あるシステム構成候補の有効範囲は、システム構成要素がより少ない他のシステム構成候補の有効範囲を包含し、この二つのシステム構成候補の有効範囲には重複する部分がある。
システム構成候補絞込手段135は、互いに異なるシステム構成候補の有効範囲同士の重複部分が大きい場合には、そのシステム構成候補のうちの一方を、システム構成候補から除外する処理を行う。
図7は、第2の実施の形態のシステム構成候補導出装置の処理経過の例を示すフローチャートである。第1の実施の形態と同様の処理については、図5に示す符号と同一の符号を付し説明を省略する。システム構成候補絞込手段135は、ステップA5で各システム構成候補の有効範囲が計算された後、互いに異なるシステム構成候補の有効範囲同士の重複部分が大きいか否かを判定し、重複部分が大きいと判定した場合には、そのシステム構成候補のいずれか一方を、システム構成候補から除外し、もう一方のシステム構成候補のみをシステム構成候補として残す(ステップA5−a)。その後、ステップA6以降の動作を行う。
以下、このステップA5−aの処理を詳細に説明する。まず、有効範囲の重複について説明する。図8は、2つのシステム構成候補の有効範囲の例を示す説明図である。白色で示した部分はシステム構成要素の数が少ない方のシステム構成候補(以下、候補1とする。)の有効範囲を表している。斜線で示した部分はシステム構成要素の数が多い方のシステム構成候補(以下、候補2とする。)の有効範囲を表している。また、図8では、第1層から第3層までの相関性のあるメトリックの有効範囲を表している。候補1の第1層のメトリックの有効範囲は0〜hであり、候補2の第1層のメトリックの有効範囲は0〜h’であり、0〜hの範囲が重複する。候補1の第2層のメトリックの有効範囲は0〜iであり、候補2の第2層のメトリックの有効範囲は0〜i’であり、0〜iの範囲が重複する。候補1の第3層のメトリックの有効範囲は0〜jであり、候補2の第3層のメトリックの有効範囲は0〜j’であり、0〜jの範囲が重複する。
システム構成候補絞込手段135は、各層の相関性のあるメトリックそれぞれについて、有効範囲の重複部分が、大きい方の有効範囲(すなわち、候補2の有効範囲)の有効範囲の所定の割合(例えば90%)以上である場合に、有効範囲同士の重複部分が大きいと判定する。以下、この所定の割合が90%である場合を例にして説明する。図8に示す例の場合、各層のメトリックの有効範囲について、h>0.9・h’,i>0.9・i’,j>0.9・j’が全て成立していれば、システム構成候補絞込手段135は、有効範囲同士の重複部分が大きいと判定する。
有効範囲同士の重複部分が大きいと判定した場合、システム構成候補絞込手段135は、候補1と候補2のいずれか一方をシステム構成候補から除外する。このとき、有効範囲が狭い方のシステム構成候補(システム構成要素の数が少ない方のシステム構成候補。ここでは候補1)を除外することが好ましい。
また、システム構成候補絞込手段135は、各層の相関性のあるメトリックのうちの所定のメトリックについて、有効範囲の重複部分が、大きい方の有効範囲の所定の割合以上である場合に、有効範囲同士の重複部分が大きいと判定してもよい。例えば、第1層のメトリックおよび第2層のメトリックについて、h>0.9・h’,i>0.9・i’が成立しているときに、有効範囲同士の重複部分が大きいと判定してもよい。
また、システム構成候補絞込手段135は、各層の相関性のあるメトリックそれぞれについて、小さい方の有効範囲(すなわち候補1の有効範囲)の上限値と大きい方の有効範囲(すなわち候補2の有効範囲)上限値との差が所定値(例えば10)以下である場合に、有効範囲同士の重複部分が大きいと判定してもよい。図8に示す例の場合、各層のメトリックの有効範囲について、h’−h>10,i’−i>10,j’−j>10が全て成立している場合に、有効範囲同士の重複部分が大きいと判定してもよい。
また、システム構成候補絞込手段135は、各層の相関性のあるメトリックのうちの所定のメトリックについて、小さい方の有効範囲の上限値と大きい方の有効範囲上限値との差が所定値以下である場合に、有効範囲同士の重複部分が大きいと判定してもよい。例えば、第1層のメトリックおよび第2層のメトリックについて、h’−h>10,i’−i>10が成立しているときに、有効範囲同士の重複部分が大きいと判定してもよい。
上記の例における所定の割合あるいは所定値は、相関性を有するメトリック毎に異なっていてもよい。
システム構成候補絞込手段135は、システム構成候補として残っているシステム構成候補の中から2つのシステム構成候補を選択して、有効範囲同士の重複部分が大きいか否かを判定し、重複部分が大きいと判定した場合には、そのシステム構成候補のいずれか一方を削除する。この処理を、削除するシステム構成候補がなくなるまで繰り返す。その後、ステップA6以降の動作を行う。
第2の実施の形態においても、第1の実施の形態と同様に、システム構成ルールを容易に生成することができるという効果が得られる。さらに、第2の実施の形態では、有効範囲の重複部分が多い相異なるシステム構成候補については一方をシステム構成候補から除外して、システム構成候補を絞り込むことができる。
システム構成候補絞込手段135は、例えば、プログラムに従って動作するコンピュータ(中央処理装置)によって実現される。システム構成候補絞込手段135は、他の各手段と同一の中央処理装置によって実現されていてもよい。
実施の形態3.
図9は、本発明の第3の実施の形態のシステム構成候補導出装置の例を示すブロック図である。第1の実施の形態と同様の構成部については図1と同一の符号を付し、説明を省略する。第3の実施の形態では、データ処理装置100は、要素間相関性導出手段110、性能プロファイル手段120、システム構成候補列挙手段131、有効範囲計算手段132、トリガ生成手段133、操作系列生成手段134、ルール生成手段130に加えて、システム構成候補提示手段136を備える。
システム構成候補提示手段136は、システム構成候補131によって導出されたシステム構成候補の一覧を表示して、システム構成候補の一覧を利用者(例えば、対象システム106およびシステム構成候補導出装置の管理者)に提示する。そして、システム構成候補提示手段136は、利用者によって、除外するシステム構成候補の情報が入力されると、導出された複数のシステム構成候補のなかからそのシステム構成候補を除外する。
システム構成候補提示手段136は、例えば、プログラムに従って動作するコンピュータ(中央処理装置)と、ディスプレイ装置と、マウスやキーボード等の入力装置によって実現される。システム構成候補提示手段136を実現するための中央処理装置は、他の手段を実現するための中央処理装置と同一であってもよい。
図10は、第3の実施の形態のシステム構成候補導出装置の処理経過の例を示すフローチャートである。第1の実施の形態と同様の処理については、図5に示す符号と同一の符号を付し説明を省略する。システム構成候補絞込手段135は、ステップA5で各システム構成候補の有効範囲が計算された後、システム構成候補の一覧を表示し、利用者によって、除外するシステム構成候補の情報が入力されると、導出された複数のシステム構成候補のなかからそのシステム構成候補を除外する(ステップA5−b)。その後、ステップA6以降の動作を行う。
図11は、システム構成候補提示手段136によって表示されるシステム構成候補の一覧の表示画面の例を示す説明図である。システム構成候補の一覧の表示画面は、例えば、システム構成候補の表示欄401と、システム構成候補の有効範囲の表示欄402と、除外すべきシステム構成候補を指定するためのチェックボックス403と、メトリックを選択するためのプルダウンメニュー404とを含む。
システム構成候補提示手段136は、ステップA5−bにおいて、それぞれのシステム構成候補を表示する各表示欄401と、個々の表示欄401に対応させてチェックボックス402および有効範囲を表示する各表示欄402と、プルダウンメニュー404とを含む画面をディスプレイ装置に表示させる。システム構成候補提示手段136は、プルダウンメニュー404にはデフォルトのメトリックの名称を表示し、そのメトリックの有効範囲を各表示欄402に表示する。また、利用者によってプルダウンメニュー404が操作され、他のメトリックが指定された場合には、そのメトリックの有効範囲を各表示欄402に表示する。
利用者は、除外すべきシステム構成候補に対応するチェックボックス403をマウスでクリックする。システム構成候補提示手段136は、チェックボックス403がマウスによってクリックされると、クリックされたチェックボックスにチェックマークを表示する。そして、クリックされたチェックボックス403に対応するシステム構成候補を、ステップA4で導出された各システム構成候補の中から除外する。その後、ステップA6以降の動作を行う。
第3の実施の形態においても、第1の実施の形態と同様に、システム構成ルールを容易に生成することができるという効果が得られる。さらに、利用者が不要と考えるシステム構成候補を、利用者の判断で削除することができる。
データ処理装置100は、第2の実施の形態におけるシステム構成候補絞込手段135と、第3の実施の形態におけるシステム構成候補提示手段136の双方を備えていてもよい。そのような構成の場合、システム構成候補絞込手段135が第2の実施の形態におけるステップA5−aの処理を行った後に、システム構成候補提示手段136が第3の実施の形態におけるステップA5−bの処理を行い、その後ステップA6以降の処理を行ってもよい。あるいは、システム構成候補提示手段136が第3の実施の形態におけるステップA5−bの処理を行った後に、システム構成候補絞込手段135が第2の実施の形態におけるステップA5−aの処理を行い、その後ステップA6以降の処理を行ってもよい。
また、第1の実施の形態から第3の実施の形態までの各実施の形態において、システム構成候補列挙手段131が、導出したシステム構成候補を一旦記憶装置に記憶させ、有効範囲計算手段132がその記憶装置からシステム構成候補を読み込む構成であってもよい。図12は、システム構成候補を記憶装置に一旦記憶させるシステム構成候補導出装置の例を示すブロック図である。第1の実施の形態と同様の構成部については図1と同一の符号を付し、説明を省略する。データ処理装置100は、要素間相関性導出手段110、性能プロファイル手段120、システム構成候補列挙手段131、有効範囲計算手段132、トリガ生成手段133、操作系列生成手段134、ルール生成手段130に加えて、さらにシステム構成候補記憶手段141を備える。
システム構成候補記憶手段141は、システム構成候補列挙手段131が導出したシステム構成候補を記憶する記憶装置である。システム構成候補列挙手段131は、導出したシステム構成候補をシステム構成候補記憶手段141に記憶させる。このとき、システム構成候補記憶手段141は、要素間相関性導出手段110によって導出されたメトリックの相関性の情報もシステム構成候補記憶手段141に記憶させる。そして、有効範囲計算手段132は、システム構成候補記憶手段141から各システム構成候補およびメトリックの相関性の情報を読み込んでステップA5の処理を行う。
なお、ステップA5の処理では性能プロファイルも用いる。既に説明した各実施の形態と同様に、性能プロファイル手段120が、性能プロファイルを有効範囲計算手段132に渡してもよい。あるいは、性能プロファイル手段120が予め性能プロファイルを記憶し、有効範囲計算手段132がその性能プロファイルを性能プロファイル手段120から読み込んでもよい。また、システム構成候補列挙手段131が、性能プロファイル手段120によって生成される各性能プロファイル(または性能プロファイル手段120が予め記憶している各性能プロファイル)を、システム構成候補とともにシステム構成候補記憶手段141に記憶させてもよい。そして、有効範囲計算手段132が、システム構成候補および性能プロファイルをシステム構成候補記憶手段141から読み込んでもよい。
図12に示すような構成においても、データ処理装置100は、システム構成候補絞込手段135(図6参照。)やシステム構成候補提示手段136(図9参照。)を備えていてもよい。
また、本発明のシステム構成候補導出装置は、有効範囲計算手段132、トリガ生成手段133、操作系列134、ルール生成手段130を備えずに、ステップA1〜A4までの処理を行う構成であってもよい。そのような構成であっても、システム構成候補列挙手段131が、メトリックの相関性と性能プロファイルとに基づいてシステム構成候補を導出することができるので、一部の層のシステム構成要素が過剰に多かったり少なかったりすることのない組み合わせをシステム構成候補として導出することができる。
次に、本発明のシステム構成候補導出装置を実現するための具体的な装置の例について説明する。図13は、本発明のシステム構成候補導出装置を実現するコンピュータの例を示す説明図である。コンピュータ1000は、CPU1001と、外部記憶装置1003と、メモリ1002と、入力装置1004と、ディスプレイ装置等の出力装置1005とを備える。メモリ1002は、プログラムを記憶し、CPU1001はそのプログラムに従って、要素間相関性導出手段110、プロファイル手段120、システム構成候補列挙手段131、有効範囲計算手段132、トリガ生成手段133、操作系列生成手段134、ルール生成手段130として動作する。また、第2の実施の形態や第3の実施の形態の場合には、システム構成候補絞込手段135やシステム構成候補提示手段136としての動作も行う。
外部記憶装置1003は、導出されたシステム構成候補、生成されたシステム構成変更ルールを記憶する。CPU1001はシステム構成変更ルールを生成した後、そのシステム構成変更ルールを外部記憶装置1003に記憶させてもよい。また、外部記憶装置1003は、予め用意されて通信ネットワークに物理的に接続されている各層毎のサーバの台数を示す情報を記憶していてもよい。この情報は、システム構成候補に含めることが可能な各層のシステム構成要素の上限値として参照される。
入力装置1004は、マウス、キーボード、タッチパネルなどの入力デバイスである。入力装置1004を介して、利用者からの指示(例えば、本発明の動作の開始や終了の指示等)が入力される。
以下、本発明の実施例を説明する。対象システム160の構成は、図2に示す構成であるものとする。ただし、第1層210、第2層220、第3層230は、それぞれWeb層、AP層、DB層であるものとする。以下、各層のサーバ211,221,231をそれぞれWebサーバ211、APサーバ221、DBサーバ231と記す。対象システム160の外部からDB層210にアクセスがあると、Webサーバ211、APサーバ221、およびDBサーバ231が協調して動作し、そのアクセスに対する応答を返す。
このような対象システム160の操作対象要素に対する操作の情報は、例えばUNIX(登録商標)におけるシェルスクリプトやWS−BPELのようなワークフロー言語等の形式で記述され、予めシステム操作記憶手段140に記憶されている。
要素間相関性導出手段110は、各サーバ211,221,231が生成する実行ログを受信する等して、システム構成要素(各サーバ)の状態を表すメトリックを収集する(ステップA1)。要素間相関性導出手段110は、対象システム160を監視する監視システム170からメトリックを受信してもよい。
次に、要素間相関性導出手段110は、収集したメトリックのうち、相関性を有するメトリックの組み合わせを特定し、そのメトリック間の相関性を導出する(ステップA2)。この処理には、回帰分析の手法を適用すればよい。
本実施例では、APサーバ221が実行したトランザクション数と、Webサーバ211が処理したリクエスト数と、DBサーバ231が実行したクエリの数との間に相関性があると判定されたとする。そして、APサーバ221が実行したトランザクション数は、Webサーバ211が処理したリクエスト数の2倍であり、DBサーバ231が実行したクエリの数は、APサーバ221が実行したトランザクション数の1/2であるという相関性があったものとする。すなわち、以下のような相関性があったものとする。
トランザクション数=2×リクエスト数
クエリ実行数=0.5×トランザクション数
なお、要素間相関性導出手段110は、各層のサーバ211,221,231に搭載されているプログラムを解析することによって、相関性を有するメトリックの組み合わせや、メトリック間の相関性を導出してもよい。例えば、Webサーバ211に搭載されたプログラムに、Webサーバ211がリクエストを一つ受信すると、APサーバ221に2つのトランザクションを実行させるというコードが記述されていたとする。また、APサーバ221に搭載されたプログラムに、APサーバ221が実行する2つのトラン細工ションのうちの一方では、DBサーバ231にクエリを発行するというコードが記述されていたとする。要素間相関性導出手段110は、これらのコードから、上記のような例の相関性を導出してもよい。
また、性能プロファイル手段120は、性能プロファイルを生成する(ステップA3)。性能プロファイル手段120は、各サーバが生成する実行ログやサーバや通信ネットワークの監視システム170などを通じて、システム構成要素(各サーバ)の状態を表すメトリックを収集するとともに、そのときのシステム構成(対象システム160において動作可能なサーバの台数等の対象システムの構成)も取得する。性能プロファイル手段120は、システム構成とメトリックとを照らし合わせて、Webサーバが何台の時、どれくらいのリクエスト数を処理することができたか等の性能プロファイルを生成する。
また、予め、対象システム160内で運用されているシステム構成要素を対象システムから単独で取り出し、テスト環境においてシステム構成要素の数を増減させるなどして、システム構成要素の台数と処理量の関係を計測してもよい。そして、その計測結果を性能プロファイルとして、性能プロファイル手段120が記憶している構成であってもよい。
図14は、性能プロファイル手段120が生成した性能プロファイルの例を図示した説明図である。図14(a)は、Webサーバ211の台数と、各Webサーバ211が処理可能な単位時間当たりのリクエスト数との関係を示している。具体的には、Webサーバ1台が単位時間に処理可能なリクエスト数は70であり、Webサーバの台数と単位時間に処理可能なリクエスト数とが比例関係にあることを表している。図14(b)は、APサーバ221の台数と、各APサーバ221が処理可能な単位時間当たりのトランザクション数との関係を示している。具体的には、APサーバ1台が単位時間に処理可能なトランザクション数は100であり、APサーバの台数と単位時間に処理可能なトランザクション数とが比例関係にあることを表している。図14(c)は、DBサーバ231の台数と、各DBサーバ231が処理可能な単位時間当たりのクエリ数との関係を示している。具体的には、DBサーバの台数と単位時間に処理可能なクエリ数とは比例関係にあるが、DBサーバが4台以上になると、DBサーバの台数を増やしても、単位時間に処理できるクエリ数は増加しないという関係を示している。
システム構成候補列挙手段131は、システム構成候補を導出して列挙する(ステップA4)。本例では、上記のように「トランザクション数=2×リクエスト数」、「クエリ実行数=0.5×トランザクション数」という相関性がある。すなわち、「Web層におけるリクエスト数:AP層のトランザクション数:DB層のクエリ実行数は、1:2:1」という相関性がある。
システム構成候補列挙手段131は、既に説明した第1の方法あるいは第2の方法でシステム構成候補を導出する。
図15は、システム構成候補列挙手段131が導出するシステム構成候補の例を示す説明図である。各列の左側の数は、サーバの台数を表している。例えば、候補1は、「Webサーバ1台、APサーバ1台、DBサーバ1台」というシステム構成候補である。また、各列の右側に示したかっこ内の数値は、左側の台数のサーバで処理可能な処理数を表している。例えば、候補1では、1台のWebサーバで単位時間に70のリクエストを処理でき、1台のAPサーバで単位時間に50のトランザクションを実行でき、1台のDBサーバで単位時間に25のクエリを実行できることを表している。
本例では、図14(c)に示すように、DBサーバ4が4台以上となった時点でDB層の処理能力が飽和するので、システム構成候補に含まれるサーバの台数を増やしていき、DBサーバの台数が4台となるようなシステム構成候補を導出したら、ステップA4の処理を終了する。また、予め用意されて対象システム内の通信ネットワークに物理的に接続されている各層毎のサーバの台数を予め記憶しておき、システム構成候補においていずれかの層でその台数に達した時点でステップA4の処理を終了してもよい。
有効範囲計算手段132は、有効範囲(各層の各サーバが処理可能な負荷の範囲)を計算する(ステップA5)。図16は、有効範囲計算手段132によって求められた有効範囲の例を示す説明図である。図15に示すように、候補1ではWebサーバは単位時間当たりに70のリクエストを処理可能であるが、「Web層におけるリクエスト数:AP層のトランザクション数:DB層のクエリ実行数は、1:2:1」という相関性がある。従って、APサーバで単位時間に処理可能なトランザクション数が50であることから、図16に示すように、候補1ではWebサーバは単位時間当たりに0〜25のリクエストを処理する。Webサーバがより多くのリクエストを処理しようとしても、AP層で処理しきれないため対象システム全体としては性能が飽和することになる。
また、システム構成候補導出装置がシステム構成候補絞込手段135(図6参照。)を備えている場合、システム構成候補絞込手段135は、有効範囲同士の重複部分が大きい場合には、そのシステム構成候補のうちの一方を、システム構成候補から除外する(ステップA5−a)。例えば、図16に例示する候補3および候補4の有効範囲を比較する。リクエスト数に関する有効範囲は、候補3では「0〜70」であり、候補4では「0〜75」である。この2つの有効範囲の重複部分「0〜70」は、候補4の有効範囲「0〜75」の90%以上を占める。トランザクション数およびクエリ実行数に関する有効範囲に関しても同様である。この場合、システム構成候補絞込手段135は、候補3と候補4のいずれかを削除する。有効範囲の広い候補4を残して、候補3を削除することが好ましい。
次に、トリガ生成手段133が、有効範囲の境界を元にトリガを生成する(ステップA6)。候補1から候補2へとシステム構成を変更するトリガの生成を例に説明する。候補1と候補2のメトリックの有効範囲の境界の値は、Web層のリクエスト数に関しては25、AP層のトランザクション数に関しては50、DB層のクエリ実行数に関しては25である。トリガ生成手段133が、運用管理者によって指定された割合もしくは、10%などのあらかじめ設定された割合の分だけ、各境界の値から減じた値をトリガとする。例えば、「Web層のリクエスト数が20を超えるか、もしくは、AP層のトランザクション数が40を超えるか、もしくは、DB層のクエリ実行数が20を超える」というトリガを生成する。このトリガが、候補1から候補2にシステム構成を変化させる条件となる。
操作系列生成手段134は、システム構成候補の差分から、操作系列を生成する(ステップA7)。例えば、候補2は、候補1に比べてAPサーバが1台多く、DBサーバも1台多い(図15参照。)。よって、APサーバ1台およびDBサーバ1台が、候補1,2の差分となる。操作系列生成手段134は、システム操作記憶手段140からAPサーバを追加する操作の情報と、DBサーバを追加する操作の情報を取り出し、その情報の集合を1つの操作系列とする。システム操作記憶手段140から操作の情報を読み込むことができない場合には、操作系列生成手段134は、操作の情報を用意してシステム操作記憶手段140に記憶させるべきことを示すメッセージを出力する。
ルール生成手段130は、トリガと操作系列とを組み合わせてシステム構成変更ルールとする。
本発明は、管理対象となるシステムに含まれるシステム構成要素の組み合わせであって一部の構成要素が過剰に多かったり少なかったりすることのない組み合わせを導出するためのシステム構成候補導出装置として好適に適用される。
本発明の第1の実施の形態のシステム構成候補導出装置の例を示すブロック図である。 対象システムの例を示す説明図である。 性能プロファイルの例を示す説明図である。 性能プロファイルの例を示す説明図である。 第1の実施の形態のシステム構成候補導出装置の処理経過の例を示すフローチャートである。 本発明の第2の実施の形態のシステム構成候補導出装置の例を示すブロック図である。 第2の実施の形態のシステム構成候補導出装置の処理経過の例を示すフローチャートである。 2つのシステム構成候補の有効範囲の例を示す説明図である。 本発明の第3の実施の形態のシステム構成候補導出装置の例を示すブロック図である。 第3の実施の形態のシステム構成候補導出装置の処理経過の例を示すフローチャートである。 システム構成候補の一覧の表示画面の例を示す説明図である。 システム構成候補を記憶装置に一旦記憶させるシステム構成候補導出装置の例を示すブロック図である。 本発明のシステム構成候補導出装置を実現するコンピュータの例を示す説明図である。 性能プロファイルの例を図示した説明図である。 システム構成候補の例を示す説明図である。 有効範囲の例を示す説明図である。 管理対象となるシステムの例を示す説明図である。
符号の説明
100 データ処理装置
110 要素間相関性導出手段
120 性能プロファイル手段
130 ルール生成手段
131 システム構成候補列挙手段
132 有効範囲計算手段
133 トリガ生成手段
134 操作系列生成手段
140 システム操作記憶手段

Claims (10)

  1. 同種のソフトウェアが搭載されそのソフトウェアに従って動作するシステム構成要素の集合である層を複数含む管理対象システムの構成の候補であるシステム構成候補を導出するシステム構成候補導出装置であって、
    管理対象システムの負荷状況を示すメトリックの相関性を、管理対象システムのメトリックを計測して導出する要素間相関性導出手段と、
    システム構成要素の台数とその台数のシステム構成要素の処理量との関係を導出可能な情報である性能プロファイルと、メトリックの相関性とに基づいて、システム構成候補を導出するシステム構成候補列挙手段とを備えた
    ことを特徴とするシステム構成候補導出装置。
  2. 性能プロファイルを提供する性能プロファイル手段を備えた請求項1に記載のシステム構成候補導出装置。
  3. 要素間相関性導出手段は、時間経過に伴いメトリックを継続して計測し、メトリックを変数として前記変数と係数との乗算を含む式に各時刻におけるメトリックを代入して、前記係数を算出し、算出した係数の分散が閾値以下であれば前記係数に基づいてメトリックの相関性を導出する
    請求項1または請求項2に記載のシステム構成候補導出装置。
  4. システム構成候補列挙手段は、基準となる一つの層におけるシステム構成要素の台数毎に、性能プロファイルに基づいて基準となる層での台数での処理量を求め、当該処理量と、メトリック間の相関性とに基づいて、他の層における処理量を算出し、他の層における前記処理量を処理可能な台数を性能プロファイルから導出することによってシステム構成候補を導出する
    請求項1から請求項3のうちのいずれか1項に記載されたシステム構成候補導出装置。
  5. システム構成候補列挙手段は、メトリックの相関性から各層の処理量比を求め、各層のシステム構成要素の数を初期値に定め、性能プロファイルから各層の処理量比を求め、性能プロファイルより求めた処理量比の各項を、メトリックの相関性から求めた処理量比の対応する各項で除算した除算結果が最も小さい項に対応する層のシステム構成要素を特定し、その層のシステム構成要素の台数を追加することを繰り返すことによってシステム構成候補を導出する
    請求項1から請求項3のうちのいずれか1項に記載されたシステム構成候補導出装置。
  6. 同種のソフトウェアが搭載されそのソフトウェアに従って動作するシステム構成要素の集合である層を複数含む管理対象システムの構成の候補であるシステム構成候補を導出するコンピュータに搭載されるシステム構成候補導出プログラムであって、
    前記コンピュータに、
    管理対象システムの負荷状況を示すメトリックの相関性を、管理対象システムのメトリックを計測して導出する要素間相関性導出処理、および
    システム構成要素の台数とその台数のシステム構成要素の処理量との関係を導出可能な情報である性能プロファイルと、メトリックの相関性とに基づいて、システム構成候補を導出するシステム構成候補列挙処理
    を実行させるためのシステム構成候補導出プログラム。
  7. コンピュータに、
    要素間相関性導出処理で、時間経過に伴いメトリックを継続して計測し、メトリックを変数として前記変数と係数との乗算を含む式に各時刻におけるメトリックを代入して、前記係数を算出し、算出した係数の分散が閾値以下であれば前記係数に基づいてメトリックの相関性を導出する処理を実行させる
    請求項6に記載のシステム構成候補導出プログラム。
  8. コンピュータに、
    システム構成候補列挙処理で、基準となる一つの層におけるシステム構成要素の台数毎に、性能プロファイルに基づいて基準となる層での台数での処理量を求め、当該処理量と、メトリック間の相関性とに基づいて、他の層における処理量を算出し、他の層における前記処理量を処理可能な台数を性能プロファイルから導出することによってシステム構成候補を導出する処理を実行させる
    請求項6または請求項7に記載のシステム構成候補導出プログラム。
  9. コンピュータに、
    システム構成候補列挙処理で、メトリックの相関性から各層の処理量比を求め、各層のシステム構成要素の数を初期値に定め、性能プロファイルから各層の処理量比を求め、性能プロファイルより求めた処理量比の各項を、メトリックの相関性から求めた処理量比の対応する各項で除算した除算結果が最も小さい項に対応する層のシステム構成要素を特定し、その層のシステム構成要素の台数を追加することを繰り返すことによってシステム構成候補を導出する処理を実行させる
    請求項6または請求項7に記載のシステム構成候補導出プログラム。
  10. 同種のソフトウェアが搭載されそのソフトウェアに従って動作するシステム構成要素の集合である層を複数含む管理対象システムの構成の候補であるシステム構成候補を導出するシステム構成候補導出方法であって、
    要素間相関性導出手段が、管理対象システムの負荷状況を示すメトリックの相関性を、管理対象システムのメトリックを計測して導出し、
    システム構成候補列挙手段が、システム構成要素の台数とその台数のシステム構成要素の処理量との関係を導出可能な情報である性能プロファイルと、メトリックの相関性とに基づいて、システム構成候補を導出する
    ことを特徴とするシステム構成候補導出方法。
JP2007004375A 2007-01-12 2007-01-12 システム構成候補導出装置、方法およびプログラム Expired - Fee Related JP4752767B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007004375A JP4752767B2 (ja) 2007-01-12 2007-01-12 システム構成候補導出装置、方法およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007004375A JP4752767B2 (ja) 2007-01-12 2007-01-12 システム構成候補導出装置、方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2008171234A true JP2008171234A (ja) 2008-07-24
JP4752767B2 JP4752767B2 (ja) 2011-08-17

Family

ID=39699264

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007004375A Expired - Fee Related JP4752767B2 (ja) 2007-01-12 2007-01-12 システム構成候補導出装置、方法およびプログラム

Country Status (1)

Country Link
JP (1) JP4752767B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010160552A (ja) * 2009-01-06 2010-07-22 Nec Corp リソース配分装置、その方法及びプログラム
WO2011052149A1 (ja) * 2009-10-29 2011-05-05 日本電気株式会社 システム配置決定システム、システム配置決定方法およびプログラム
JP2012515971A (ja) * 2009-01-30 2012-07-12 ヒューレット−パッカード デベロップメント カンパニー エル.ピー. キャパシティ計画及び作業負荷管理を統合するためのシステム及び方法
WO2014064913A1 (ja) * 2012-10-23 2014-05-01 日本電気株式会社 運用管理装置、及び、運用管理方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003178040A (ja) * 2001-12-10 2003-06-27 Hitachi Information Systems Ltd ウェブサイトの構成決定支援方法
JP2005327261A (ja) * 2004-04-16 2005-11-24 Ns Solutions Corp 性能監視装置、性能監視方法及びプログラム
WO2006001820A1 (en) * 2004-06-10 2006-01-05 International Business Machines Corporation Methods and apparatus for cost minimization of multi-tiered infrastructure with end-to-end delay guarantees
JP2006011902A (ja) * 2004-06-28 2006-01-12 Hitachi Ltd 運用管理支援システムおよび性能情報表示方法
JP2006522384A (ja) * 2003-04-09 2006-09-28 インテル コーポレイション 複数の制約条件を用いるパフォーマンススケジューリング

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003178040A (ja) * 2001-12-10 2003-06-27 Hitachi Information Systems Ltd ウェブサイトの構成決定支援方法
JP2006522384A (ja) * 2003-04-09 2006-09-28 インテル コーポレイション 複数の制約条件を用いるパフォーマンススケジューリング
JP2005327261A (ja) * 2004-04-16 2005-11-24 Ns Solutions Corp 性能監視装置、性能監視方法及びプログラム
WO2006001820A1 (en) * 2004-06-10 2006-01-05 International Business Machines Corporation Methods and apparatus for cost minimization of multi-tiered infrastructure with end-to-end delay guarantees
JP2006011902A (ja) * 2004-06-28 2006-01-12 Hitachi Ltd 運用管理支援システムおよび性能情報表示方法

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010160552A (ja) * 2009-01-06 2010-07-22 Nec Corp リソース配分装置、その方法及びプログラム
JP2012515971A (ja) * 2009-01-30 2012-07-12 ヒューレット−パッカード デベロップメント カンパニー エル.ピー. キャパシティ計画及び作業負荷管理を統合するためのシステム及び方法
US8689227B2 (en) 2009-01-30 2014-04-01 Hewlett-Packard Development Company, L.P. System and method for integrating capacity planning and workload management
KR101564481B1 (ko) 2009-01-30 2015-10-29 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. 용량 플래닝 및 작업부하 관리를 통합하기 위한 시스템 및 방법
WO2011052149A1 (ja) * 2009-10-29 2011-05-05 日本電気株式会社 システム配置決定システム、システム配置決定方法およびプログラム
US8640139B2 (en) 2009-10-29 2014-01-28 Nec Corporation System deployment determination system, system deployment determination method, and program
JP5527326B2 (ja) * 2009-10-29 2014-06-18 日本電気株式会社 システム配置決定システム、システム配置決定方法およびプログラム
WO2014064913A1 (ja) * 2012-10-23 2014-05-01 日本電気株式会社 運用管理装置、及び、運用管理方法
JP2014085809A (ja) * 2012-10-23 2014-05-12 Nec Corp 運用管理装置、運用管理方法、及び、プログラム
US9645909B2 (en) 2012-10-23 2017-05-09 Nec Corporation Operation management apparatus and operation management method

Also Published As

Publication number Publication date
JP4752767B2 (ja) 2011-08-17

Similar Documents

Publication Publication Date Title
JP4957256B2 (ja) システム構成変更ルール生成システム、方法およびプログラム
JP4982216B2 (ja) ポリシ作成支援方法、ポリシ作成支援システム、およびプログラム
US11184241B2 (en) Topology-aware continuous evaluation of microservice-based applications
US10230601B1 (en) Systems and methods for integrated modeling and performance measurements of monitored virtual desktop infrastructure systems
US10373094B2 (en) Automated model based root cause analysis
US8255906B2 (en) Modeling overhead for a plurality of virtualization technologies in a computer system
JP2005521359A (ja) ソフトウェアアプリケーションのネットワーク動作特性を測定する方法、システム及びコンピュータプログラム
US7962437B2 (en) Data comparison using different time periods in data sequences
US20080244606A1 (en) Method and system for estimating resource provisioning
US8572621B2 (en) Selection of server for relocation of application program based on largest number of algorithms with identical output using selected server resource criteria
US20120284278A1 (en) Monitoring status display device, monitoring status display method and monitoring status display program
WO2021219080A1 (zh) 基于联邦学习模型的视图显示方法、装置、设备及介质
US9852007B2 (en) System management method, management computer, and non-transitory computer-readable storage medium
US20120317069A1 (en) Throughput sustaining support system, device, method, and program
JP4752767B2 (ja) システム構成候補導出装置、方法およびプログラム
US20150288568A1 (en) Recording medium, handling method generation method, and information processing apparatus
JP5773142B2 (ja) 計算機システムの構成パターンの算出方法及び構成パターンの算出装置
KR100992345B1 (ko) 서비스 평가 방법, 시스템 및 컴퓨터 판독가능한 기록매체
US20080127083A1 (en) Method and system for combining multiple benchmarks
JP7274162B2 (ja) 異常操作検知装置、異常操作検知方法、およびプログラム
JP6881434B2 (ja) ログ分析装置、ログ分析方法及びプログラム
US10783063B2 (en) Systems and methods for testing a customer environment
JP2014174609A (ja) ハードウェア構成見積システム、ハードウェア構成見積方法及びハードウェア構成見積プログラム
US9305068B1 (en) Methods and apparatus for database virtualization
JP2019204373A (ja) ビジュアルプログラミングツールを用いてプログラムを作成することを支援する装置および方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091214

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110128

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110208

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110331

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110509

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

Free format text: PAYMENT UNTIL: 20140603

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4752767

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees