(57)【特許請求の範囲】
【請求項１】
入力された条件のデータに基づいて性能予測を行う性能予測装置であって、
上記条件のデータとして、ハードウェア条件、ソフトウェア条件、ワークロード条件のうち少なくとも１つを入力する条件入力手段と、
前記条件入力手段で入力された条件に応じて演算式を選択する選択手段と、
前記選択手段で選択された演算式と、前記条件入力手段で入力された条件と、に基づいて、ＴＰＣ−Ａ〜ＴＰＣ−Ｄ換算のトランザクション数又はＭＩＰＳ換算のインストラクション数のような性能指標値を算出する性能指標算出手段と、
上記入力された条件のデータ及び上記算出された性能指標値を性能予測演算の入力条件データとして性能予測を行う性能予測演算手段と、
を備えたことを特徴とする性能予測装置。
【請求項２】
上記条件入力手段は、上記条件のデータを入力するためのテンプレートを複数備えることを特徴とする請求項１に記載の性能予測装置。
【請求項３】
上記複数のテンプレートは、性能予測の対象とするシステムの種類、システム開発上のフェーズ、演算すべき性能指標値の種類の少なくとも何れかに応じて異なるものが複数用意されることを特徴とする請求項２に記載の性能予測装置。
【請求項４】
上記性能予測演算手段は、性能予測データの統計値を演算することに加えて、様々な条件のデータ値のもとで演算した統計値をグラフ化して出力する処理を行うことを特徴とする請求項１乃至３の何れか１項に記載の性能予測装置。
【請求項５】
上記性能予測演算手段は、性能予測データの統計値の演算結果に基づいて、要求されている性能を満たす条件のデータを自動的に判断し、その結果を出力することを特徴とする請求項１乃至４の何れか１項に記載の性能予測装置。
【請求項６】
入力された条件のデータに基づいて性能予測を行う性能予測方法であって、
上記条件のデータとして、ハードウェア条件、ソフトウェア条件、ワークロード条件のうち少なくとも１つを入力する条件入力工程と、
前記条件入力工程で入力された条件に応じて演算式を選択する選択工程と、
前記選択工程で選択された演算式と、前記条件入力工程で入力された条件と、に基づいて、ＴＰＣ−Ａ〜ＴＰＣ−Ｄ換算のトランザクション数又はＭＩＰＳ換算のインストラクション数のような性能指標値を算出する性能指標算出工程と、
上記入力された条件のデータ及び上記算出された性能指標値を性能予測演算の入力条件データとして性能予測を行う性能予測演算工程と、
を有することを特徴とする性能予測方法。
【請求項７】
入力された条件のデータに基づいて性能予測を行うコンピュータを、
上記条件のデータとして、ハードウェア条件、ソフトウェア条件、ワークロード条件のうち少なくとも１つを入力する条件入力手段と、
前記条件入力手段で入力された条件に応じて演算式を選択する選択手段と、
前記選択手段で選択された演算式と、前記条件入力手段で入力された条件と、に基づいて、ＴＰＣ−Ａ〜ＴＰＣ−Ｄ換算のトランザクション数又はＭＩＰＳ換算のインストラクション数のような性能指標値を算出する性能指標算出手段と、
上記入力された条件のデータ及び上記算出された性能指標値を性能予測演算の入力条件データとして性能予測を行う性能予測演算手段と、
して機能させるプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項８】
入力された条件のデータに基づいて性能予測を行うコンピュータに、
上記条件のデータとして、ハードウェア条件、ソフトウェア条件、ワークロード条件のうち少なくとも１つを入力する条件入力工程と、
前記条件入力工程で入力された条件に応じて演算式を選択する選択工程と、
前記選択工程で選択された演算式と、前記条件入力工程で入力された条件と、に基づいて、ＴＰＣ−Ａ〜ＴＰＣ−Ｄ換算のトランザクション数又はＭＩＰＳ換算のインストラクション数のような性能指標値を算出する性能指標算出工程と、
上記入力された条件のデータ及び上記算出された性能指標値を性能予測演算の入力条件データとして性能予測を行う性能予測演算工程と、
を実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は性能予測装置および方法、記録媒体に関し、特に、複数のマシンやネットワーク等によって構築されるコンピュータシステムの性能を評価するためのシステムに用いて好適なものである。
【０００２】
【従来の技術】
一般に、何らかのコンピュータシステムを構築する場合、当該システムは、システム内容の提案、要求定義、詳細設計、実装、テストなどの各工程を経て構築され、その後運用に入る。このようなシステム構築は、顧客やシステム使用者等のニーズ（例えば、データベースに対するデータ読み出しを何秒以内に抑えたいとかの要求）に合わせて行われるのが通常である。そして、そのニーズを満たすためには、システムを構成するサーバマシンやクライアントマシン、それらを繋ぐネットワーク等として適切なものを使用する必要がある。
【０００３】
【発明が解決しようとする課題】
しかしながら、従来は、構築すべきコンピュータシステム内にどのくらいのスペックのサーバやクライアントを入れたら良いかとか、どのくらいの容量のネットワークを引いたら良いかといったシステムのサイジングは、システム開発者の経験や勘を頼りに行っていた。そして、システムが出来上がった時点で実際にそのシステムを動かしてみて、顧客のニーズを満足しているかどうかを評価していた。また、各種ハードウェアがネットワーク接続されたシステムのネットワークトポロジの変更を行う場合、システムの負荷分散がどうなるかといった問題も、経験等による場合が多かった。
【０００４】
そのため、このようにして経験や勘を頼りに構築されたシステムが、顧客の望まない結果となってしまうことも少なくなかった。この場合には、顧客のニーズを満足するようにシステムの構築をやり直す必要が生じることもあり、多大な労力とコストとを要する結果となってしまう問題があった。
【０００５】
そこで近年では、このような不都合を回避するために、構築しようとするシステムのシミュレーションモデルをまずコンピュータ上で作成し、そのモデルに対して様々なパラメータを入力してシミュレーションを実行することにより、システムの性能を見積もる。そして、その見積結果をもとにシステム構成や各マシンのサイジングをすることが行われてきた。
【０００６】
ところが、このようなシミュレータを用いた場合でも、そのシミュレーションモデルに入力するパラメータは、システム開発者などが自己の経験や勘を頼りに決定していた。そのため、担当する人間によって性能の見積結果に差がでてしまい、場合によっては誤った性能見積結果に基づいてシステムを構築してしまうこともあった。この場合には、上述したのと同様の問題が生じる。
【０００７】
しかも、従来のシミュレータでは、開発者などが予測した絶対的な値（例えば、あるスペックのＣＰＵを用いてある処理を行うのに何秒かかるか等という絶対時間）を入力していたため、シミュレーションモデル中に含まれるマシンのスペックを変えても、応答時間は絶対的な値として不変で、得られる性能見積結果は同じとなり、信頼性に欠けるという問題があった。
【０００８】
また、特に受注前や受注直後などのシステム開発初期の段階では、構築したいシステムの概要が分かっているだけで、細かい構成についてはまだ詳細化されていない。よって、この段階では、より細かなシミュレーションモデルは作成することが困難であり、大まかなものとせざるを得ないし、パラメータ入力に必要な情報量も少ない。そのため、適切なパラメータ入力を行うことが困難であり、正確な性能評価を行うことが非常に困難であるという問題もあった。
【０００９】
本発明は、このような問題を解決するために成されたものであり、構築すべきシステムの性能を正確に予測するだけでなく、システム開発者等の経験や勘に頼らず、誰が行っても一様な性能評価結果を得ることができるようにすることを目的とする。
また、本発明は、システム開発の初期の段階で必要な情報がまだ余り揃っていない状況の中でも正確にシステムの性能を予測することができるようにすることで、最終的に目指すシステムをどのように構築したら良いかを少ない情報量から正確に予測できるようにすることを目的とする。
【００１０】
【課題を解決するための手段】
本発明は、入力された条件のデータに基づいて性能予測を行う性能予測装置であって、上記条件のデータとして、ハードウェア条件、ソフトウェア条件、ワークロード条件のうち少なくとも１つを入力する条件入力手段と、前記条件入力手段で入力された条件に応じて演算式を選択する選択手段と、前記選択手段で選択された演算式と、前記条件入力手段で入力された条件と、に基づいて、ＴＰＣ−Ａ〜ＴＰＣ−Ｄ換算のトランザクション数又はＭＩＰＳ換算のインストラクション数のような性能指標値を算出する性能指標算出手段と、上記入力された条件のデータ及び上記算出された性能指標値を性能予測演算の入力条件データとして性能予測を行う性能予測演算手段と、を備えたことを特徴とする。
【００１１】
本発明の他の態様では、上記条件入力手段は、上記条件のデータを入力するためのテンプレートを複数備えることを特徴とする。
ここで、上記複数のテンプレートは、例えば、性能予測の対象とするシステムの種類、システム開発上のフェーズ、演算すべき性能指標値の種類の少なくとも何れかに応じて異なるものが複数用意される。
【００１２】
本発明のその他の態様では、上記性能指標演算手段は、与えられる条件のデータあるいは使用したテンプレートに応じて異なる性能指標値を演算することを特徴とする。
ここで、上記性能指標演算手段が異なる演算式をあらかじめ複数用意し、上記与えられる条件のデータあるいは使用したテンプレートに応じて、何れの演算式を使用するかを選択する演算選択手段を備えるようにしても良い。
また、上記性能指標演算手段が、与えられる条件のデータあるいは使用したテンプレートに応じて上記性能指標値の演算式を補正する手段を備えるようにしても良い。この場合において、上記演算式の補正は、各条件のデータに対して重み係数を変えることにより行うようにしても良い。
【００１３】
本発明のその他の態様では、上記性能予測演算手段は、性能予測データの統計値を演算することに加えて、様々な条件のデータ値のもとで演算した統計値をグラフ化して出力する処理を行うことを特徴とする。
また、上記性能予測演算手段は、性能予測データの統計値の演算結果に基づいて、要求されている性能を満たす条件のデータを自動的に判断し、その結果を出力するようにしても良い。
【００１４】
また、本発明は、入力された条件のデータに基づいて性能予測を行う性能予測方法であって、上記条件のデータとして、ハードウェア条件、ソフトウェア条件、ワークロード条件のうち少なくとも１つを入力する条件入力工程と、前記条件入力工程で入力された条件に応じて演算式を選択する選択工程と、前記選択工程で選択された演算式と、前記条件入力工程で入力された条件と、に基づいて、ＴＰＣ−Ａ〜ＴＰＣ−Ｄ換算のトランザクション数又はＭＩＰＳ換算のインストラクション数のような性能指標値を算出する性能指標算出工程と、上記入力された条件のデータ及び上記算出された性能指標値を性能予測演算の入力条件データとして性能予測を行う性能予測演算工程と、
を有することを特徴とする。
【００１５】
本発明の他の態様では、上記条件入力工程における上記条件のデータの入力は、あらかじめ用意された複数のテンプレートに対して行うことを特徴とする。
ここで、上記複数のテンプレートは、例えば、性能予測の対象とするシステムの種類、システム開発上のフェーズ、演算すべき性能指標値の種類の少なくとも何れかに応じて異なるものが複数用意される。
【００１６】
本発明のその他の態様では、上記性能指標演算工程では、与えられる条件のデータあるいは使用したテンプレートに応じて異なる性能指標値を演算することを特徴とする。
【００１７】
また、本発明の記録媒体は、入力された条件のデータに基づいて性能予測を行うコンピュータを、上記条件のデータとして、ハードウェア条件、ソフトウェア条件、ワークロード条件のうち少なくとも１つを入力する条件入力手段と、前記条件入力手段で入力された条件に応じて演算式を選択する選択手段と、前記選択手段で選択された演算式と、前記条件入力手段で入力された条件と、に基づいて、ＴＰＣ−Ａ〜ＴＰＣ−Ｄ換算のトランザクション数又はＭＩＰＳ換算のインストラクション数のような性能指標値を算出する性能指標算出手段と、上記入力された条件のデータ及び上記算出された性能指標値を性能予測演算の入力条件データとして性能予測を行う性能予測演算手段と、して機能させるプログラムを記録したコンピュータ読み取り可能な記録媒体である。
【００１８】
また、本発明の記録媒体は、入力された条件のデータに基づいて性能予測を行うコンピュータに、上記条件のデータとして、ハードウェア条件、ソフトウェア条件、ワークロード条件のうち少なくとも１つを入力する条件入力工程と、前記条件入力工程で入力された条件に応じて演算式を選択する選択工程と、前記選択工程で選択された演算式と、前記条件入力工程で入力された条件と、に基づいて、ＴＰＣ−Ａ〜ＴＰＣ−Ｄ換算のトランザクション数又はＭＩＰＳ換算のインストラクション数のような性能指標値を算出する性能指標算出工程と、上記入力された条件のデータ及び上記算出された性能指標値を性能予測演算の入力条件データとして性能予測を行う性能予測演算工程と、を実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体としてもよい。
【００１９】
【発明の実施の形態】
以下、本発明の一実施形態を図面に基づいて説明する。
図１は、本実施形態による性能予測装置の機能構成を示すブロック図である。図１において、１はハードウェア条件入力部、２はソフトウェア条件入力部、３はワークロード条件入力部である。本実施形態では、構築すべきコンピュータシステムのシミュレーションモデルを作成する際に、ハードウェアモデルとソフトウェアモデルとワークロードモデルとの３つに大きく分けて考え、上記各入力部１〜３によってそれぞれのモデルに必要な条件を夫々入力する。
【００２０】
ここで、ハードウェアモデルとは、構築しようとするシステムに含めるべきハードウェアに関する条件を規定したものである。例えば、サーバマシンやクライアントマシンのハードウェア仕様およびデータ入出力のスペック、ネットワークトポロジ（システム構成）など、各ハードウェアの物理的な性能とそれらの組み方などをハードウェア条件入力部１から入力する。
【００２１】
このハードウェア条件入力部１は、複数種類のテンプレート１ａを備えている。これらのテンプレート１ａは、入力すべき様々なハードウェア条件を項目として列挙したものであり、例えば構築すべきシステムの種類に応じて（そのシステムでどのようなハードウェアが必須か等に応じて）、入力すべき項目の異なるものが複数用意されている。また、システム開発が内容の提案、要求定義、詳細設計、実装、テストなどと進んでいくに従って、シミュレーションモデルの細かさや与える条件が異なってくるのが通常なので、各工程毎に異なるテンプレートを用意するようにしても良い。
【００２２】
図２は、上記ハードウェア条件を入力するためのテンプレート１ａの一例を示すものであり、（ａ）はサーバマシンの仕様、（ｂ）はクライアントマシンの仕様、（ｃ）はネットワークの仕様を入力するためのテンプレートを示している。これらの各テンプレートで入力するハードウェア仕様は殆ど、使用するマシン等が決まれば一意に決まるものであり、主観の入る余地のないものである。なお、ここでは様々な項目を例示しているが、システムの性能を評価する上で最低限必要となるのは、ＣＰＵ能力やディスク能力であるので、少なくともこれに関する項目があればテンプレートのフォーマットは何でも良い。
【００２３】
また、ハードウェア条件入力部１では、上記図２に示したテンプレートによる条件入力だけでなく、次の図３に例示するようなシステム構成自体も入力する。システム構成は、構築しようとするシステム内で使用される各ハードウェアの組み方あるいは接続関係等を規定したものである。これは、図３のようなモデルそのものをイメージとして入力するようにしても良いし、接続関係等をテキストデータとして入力するようにしても良い。
【００２４】
次に、ソフトウェアモデルとは、システムが行うサービスについて、１個１個の業務をどう処理しているかという条件を規定したものである。図１のソフトウェア条件入力部２は、ハードウェア条件入力部１と同様に複数種類のテンプレート２ａを備えている。すなわち、例えば構築すべきシステムの種類に応じて（そのシステムでどのような処理が行われるか等に応じて）、入力すべき項目の異なるものが複数用意されている。また、システム開発の各工程毎に異なるテンプレートを用意するようにしても良い。
【００２５】
図４は、上記ソフトウェア条件を入力するためのテンプレート２ａの一例を示すものである。このテンプレート２ａは、入力すべき様々な業務の条件を項目として列挙したものであり、１行が１個の業務に対応している。また、一点鎖線で示したまとまりが、１つの大きな業務の流れを示している。システム開発者等は、このテンプレート２ａを使って業務実行の条件等を入力する。このテンプレート２ａで入力するソフトウェア条件も、構築したいシステムで行う業務や使用するハードウェア等が決まればほぼ一意に決まるものであり、主観の入る余地のないものが殆どである。
【００２６】
また、ワークロードモデルとは、システム内においてユーザがどの位の頻度で各業務の実行を要求するか、言い換えれば負荷の発生源を規定したものである。図１のワークロード条件入力部３も複数種類のテンプレート３ａを備えている。すなわち、例えば構築すべきシステムの種類に応じて（対象となる業務がオンライン業務かパッケージ業務か、そのシステムでどのような処理が誰によって行われるか等に応じて）、入力すべき項目の異なるものが複数用意されている。また、システム開発の各工程毎に異なるテンプレートを用意するようにしても良い。
【００２７】
図５は、上記ワークロード条件を入力するためのテンプレート３ａの一例を示すものである。このテンプレート３ａは、どのクライアントがどの業務をどの位の頻度で行うかのワークロード条件を入力するためのものであり、入力する頻度としては、平均発生頻度λとピーク率ρとが規定されている。ここで、頻度λは対象業務の単位時間あたりの発生回数（例えば、一時間に何回発生するかということ）で、ピーク率ρはピーク時にその何倍になるかということである。
【００２８】
対象業務が手入力により発生するなど、一定間隔では発生しない場合には、発生間隔の分布として特定の確率分布（例えば指数分布）を想定する。例えば、ある帳票入力が一時間に３回行われるとすると、平均２０分の指数分布をシミュレータへの入力値とする。
一方、例えば二時間に一度帳票の入力実績を自動的に印刷する場合などは、きっかり二時間おきに印刷することになるので、一定の発生間隔を想定する。
【００２９】
システム開発者は、以上のような各テンプレート１ａ，２ａ，３ａを用いて、例えばクライアント・サーバシステムで複数のアプリケーションソフトウェアが実行される場合に、どのようなスペックのサーバマシンやクライアントマシンが幾つあり、各クライアントマシンがどの位の頻度で各アプリケーションを実行するのか等といったことに関する各種パラメータを入力する。
【００３０】
なお、以上に述べた各テンプレート１ａ，２ａ，３ａは、本実施形態の性能予測装置が備える図示しない表示部の画面に表示されて、キーボードやマウス等の入力デバイスを用いて直接入力できるようなものであっても良いし、紙などに印刷されたものであって、これを図示しないスキャナ等の画像入力デバイスによって読み込ませるようにしたものであっても良い。
【００３１】
図１に戻り、４は性能指標演算部であり、上記ハードウェア条件入力部１、ソフトウェア条件入力部２およびワークロード条件入力部３により入力された各条件値の少なくとも一部の情報に基づいて、システムの性能評価を行うために必要な所定の指標値を演算する。
【００３２】
例えば、この性能指標値の例として、トランザクション処理性能評議会（Transaction Processing Performance Council）によるＴＰＣ−Ａ〜ＴＰＣ−Ｄ換算のトランザクション数や、ＭＩＰＳ（Million Instruction Per Second）換算のインストラクション数を演算して出力する。また、ＳＰＥＣ（Systems Performance Evalution Cooperative ）によるＳＰＥＣmark値やＳＰＥＣint 値を演算して出力する場合もある。このとき、これらの性能指標値は、プロセスやタスクの数が複数あれば、その数分だけ演算して出力される。
【００３３】
これらの性能指標値は、一般的にはユーザが予想して入力することが困難な値であり、本実施形態ではこれを、ユーザの経験や勘などの主観の入り込む余地がないあらかじめ決められた所定の演算式に従って算出するようにしている。この演算式の例を示すと、以下の通りである。
0004739472.tif 000002
【００３４】
ただし、上記式(1) において、TranはＴＰＣ−Ｃ換算のトランザクション数、f() は括弧内の各パラメータを用いて演算する関数である。また、上記パラメータとしてのＣＰＵ能力およびディスク能力は、図２に例示したハードウェア条件に関する情報の一部であり、ＳＱＬ数、ＣＲＵＤ種別、レコード長、処理件数および操作対象テーブル総件数は、図４に例示したソフトウェア条件に関する情報の一部である。さらに、ｗ1 ，ｗ2 ，ｗ3 は、これらの各パラメータから計算される重みである。
【００３５】
なお、上記重みｗ1 ，ｗ2 ，ｗ3 に関して、ｗ1 は処理時間の基準値、ＣＰＵ能力、ディスク能力等により決定される重みであり、ｗ2 はＣＲＵＤ種別等により決定される重みであり、ｗ3 は処理件数、操作対象テーブル総件数、インデックス有無等により決定される重みである。
【００３６】
この場合、簡単な単体試験（実測）を行い、その結果から換算式を導出するようにしても良い。あるいは、重み付けの手法と換算式とを組み合わせた性能指標値を用いるようにしても良い。例えば、
0004739472.tif 000003
と考える場合には、性能指標の演算式は、
0004739472.tif 000004
などとなる。関数f() 、g() 、h() は重み付けを行ったり、実測結果から換算式を求めて使用する。
【００３７】
なお、図２〜図５に示したテンプレートは、構築するシステムとしてデータベースを利用したシステムを想定したものである。そのため、例えばソフトウェア条件として入力する情報には、データベース言語に関するＳＱＬ（Structured Query Language ）数とか、データベースに対するアクセスがデータの生成／参照／更新／削除等の何れであるかのＣＲＵＤ種別、あるいはレコード長や処理件数、操作対象ＤＢ総件数などの情報が含まれている。よって、性能指標演算部４では、これらの情報を用いて式(1) のように性能指標値を計算している。
【００３８】
本実施形態では、この式(1) のように、ハードウェア条件入力部１、ソフトウェア条件入力部２およびワークロード条件入力部３により入力された各パラメータのうちの少なくとも一部の情報を組み合わせて、例えばトランザクション数を計算する。その際、式(1) 中に含まれる各パラメータのうち、特定のパラメータを組み合わせて第１の重みｗ1 を計算し、第２の重みｗ2 、第３の重みｗ3 は他の特定のパラメータの組合せを用いて計算する。そして、これらの各重みｗ1 ，ｗ2 ，ｗ3 と処理件数とを乗算することによって最終的にトランザクション数を得ている。
【００３９】
また、本実施形態において、性能指標演算部４は、上記した式(1) を含めて複数の演算式（演算手段）を備えており、どの演算式を使用するかは演算選択部５によって選択するようにしている。上記式(1) は、上述したようにデータベースを利用したシステムに有効な式であるが、構築しようとするシステムが異なる場合は、各条件入力部１〜３で入力されるハードウェア条件、ソフトウェア条件、ワークロード条件のパラメータが異なってくるため、式(1) 内のパラメータが全て入力されているとは限らず、同じ式(1) は適用できないことがある。
【００４０】
また、例え構築するシステムが同じであっても、システムの提案、要求定義、詳細設計、実装、テスト等のどの段階でシステム評価を実行するかによっても入力されるパラメータは異なってくる。すなわち、受注前や受注直後の初期の段階では、システムの概要が分かっているだけなので、シミュレーションモデルも大まかであり、これに与えるべきパラメータも細かくは設定できない。これに対して、システム開発のフェーズが進んでくると、より細かいパラメータの入力が可能となるので、この場合にはより細かなパラメータを使ってトランザクション等の計算をすることができる。
【００４１】
さらに、ＴＰＣ−Ｃ換算のトランザクション数を計算するのか、あるいはＭＩＰＳ値やＳＰＥＣint 値等を計算するのかによっても、当然に使用する演算式は異なってくるはずであり、この場合は各条件入力部１〜３で入力するパラメータの種類も異なっているものである。
【００４２】
そのため、本実施形態の性能指標演算部４は、構築するシステムの違い、システム開発の進行段階、求める性能指標値の種類等に応じてどの場合にも対応できるように、複数の演算式をあらかじめ用意しており、その中から適当なものを選択して利用できるようになっている。その際、どの演算式を選択するかは、演算選択部５が各条件入力部１〜３から入力されるパラメータにどんなものがあるかを判断して、そのパラメータを使って演算可能な適切な演算式を選択する。
【００４３】
なお、各条件入力部１〜３から演算選択部５に入力されるパラメータは、実際には各テンプレート１ａ〜３ａを使って入力されたものであり、どのパラメータが入力されるかは、どのテンプレートを使って入力したかによって一意に決まるものである。したがって、演算選択部５は、各条件入力部１〜３においてどのテンプレートが使用されたかを見ることによって適切な演算式を選択するようにしても良い。
【００４４】
図１の性能予測演算部６は、各条件入力部１〜３により入力されたハードウェア条件、ソフトウェア条件、ワークロード条件の各条件入力値と、性能指標演算部４により演算されたトランザクション数等の性能指標値との両方に基づいて、対象とするシステムの性能の予測値を演算して出力する。ここで言うシステムの性能とは、顧客が要求するニーズをシステムがどのくらい満足しているかを数値として示したものであり、例えば、各プロセスの応答時間、待ちプロセス数、ＣＰＵやディスク等の計算機資源の利用率あるいは処理時間などで表される。
【００４５】
トランザクション数等の性能指標値はパラメータを用いた演算によって求めることが可能であるが、上述した応答時間等の性能予測値は、計算機資源の競合発生等によって変動し得るものであるため、単なる演算式によって求めることは難しい。そのため、性能予測演算部６において、与えられる条件入力値や性能指標値などを用いて色々なイベントを発生させ、シミュレーションを行うことによって上述した性能予測値の統計値（例えば、平均値や標準偏差等）を求める。
【００４６】
この性能予測演算部６は、従来からあるシミュレータ等のソフトウェアを利用することが可能であるが、本実施形態では特に、性能予測値の統計値を計算するだけでなく、パラメータの値を様々に変えて（つまり、各テンプレート１ａ〜３ａで入力する条件入力値を様々に変えて）計算した統計値を画面上にグラフ化して表示する処理も行う。
【００４７】
図６は、ある特定のパラメータを様々に変えて応答時間のシミュレーションを行った結果をグラフ化した例を示している。図６において、横軸はパラメータの値を示し、縦軸は応答時間の平均値を示している。このようにグラフ表示をすることができるのは、応答時間の予測値を開発者が絶対的な値として性能予測演算部６に直接入力するのではなく、システムの性能評価に重要な要素であるトランザクション数等を入力された各パラメータから性能指標演算部４で演算し、そのトランザクション数等から応答時間をシミュレートしているからである。
【００４８】
すなわち、従来のシミュレーション方法では、応答時間の予測値を絶対的な値として直接入力していたため、このようなグラフ表示はできなかったものである。これに対して、本実施形態においては、与えるパラメータを変えてやることによって、応答時間がどのように変わるかのグラフを作成し、表示することができる。例えば、横軸のパラメータとしてサーバのスペック（ＣＰＵ性能等）を用い、シミュレータの中で当該サーバのスペックをｐ1 〜ｐ7 と様々に変えてやることによって、ＣＰＵの応答性がどのように変わるかのグラフが書ける。
【００４９】
このようにグラフ化して表示するようにすれば、顧客の要求を満足するサーバとしてどのスペックのものを用いれば良いかが一目瞭然となり、サーバの適切なサイジングを容易に行うことができる。例えば、ＣＰＵの応答時間が少なくとも平均値でｒm 秒以下になるようにしたいという顧客の要求があった場合には、少なくともサーバのスペックがパラメータｐ3 〜ｐ7 で与えられるものを用いれば良いということが直ちに分かる。
【００５０】
ここで、顧客の要求を満足するスペックがどれかということが更に分かりやすくなるようにするために、例えば、要求を満足する部分と満足しない部分とを表示色を変えて表示したり、顧客の要求する応答時間がどこにあるかのガイドを表示したりするようにしても良い。
【００５１】
また、どの位のスペックでどの位の応答時間になるかということもこのグラフ表示を見れば直ぐに分かるので、本当に必要なスペックがどれなのかの検討材料とすることもできる。
【００５２】
また、応答時間の平均値だけでなく、標準偏差も併せて表示するようにすることにより、性能保証を更に正確なものとすることができる。すなわち、シミュレータの中で計算機資源の競合がたくさん起こっていると、応答性が悪くなり、分散が大きくなる。そこで、この標準偏差の値も見ることにより、顧客の希望よりも応答性が悪くなることがどの位あるかということも知ることができる。
【００５３】
図６の例では、パラメータｐ3 のときの応答時間の平均値ｒ3 に対して、３倍の標準偏差３σの値を加えた値ｒ3 ′を代表として示している。この図６において、例えば顧客の要求が、ＣＰＵの応答時間がどんな場合にもｒm 秒以下になるようにしたいというものであった場合には、サーバスのペックがパラメータｐ3 で与えられるものは適当でないということをグラフ表示から簡単に知ることができる。
【００５４】
なお、ここでは、パラメータの値を様々に変えて計算した性能予測値の統計的データを画面上にグラフ化して表示する例を示したが、当該統計的データそのものを出力するようにしても良い。例えば、顧客の要求がＣＰＵの応答時間を絶対的にある時間内に抑えたいというものであった場合には、性能予測演算部６は、性能予測値として３σの値を自動的に出力するようにしても良い。この場合、顧客の要求を満足するスペックを性能予測演算部６が自動的に判断し、そのスペック（パラメータ）をそのときの性能予測値と共に出力するようにしても良い。
【００５５】
以上詳しく説明したように、本実施形態の性能予測装置においては、システムの性能評価に重要な要素であるトランザクション数等の所定の性能指標値を、入力された各パラメータから所定の演算式を用いて演算し、その演算結果を用いて性能評価を行っている。したがって、トランザクション数等の性能指標値を開発者の予測に基づいて入力するのとは異なり、開発者の経験や勘などが入り込む余地がなくなるので、システムの性能を非常に客観的な数値で表すことができ、誰が行っても確実性のある性能評価を一様に得ることができる。
【００５６】
また、本実施形態では、上記所定の演算式として、様々なシステムの種類、システム開発上における様々なフェーズ、求めるべき様々な性能指標値の種類に応じて複数の演算式を用意し、与えられるパラメータに応じて適切なものを選択して適用できるように構成したので、様々な顧客の色々なニーズに対応することができる。特に、システム開発の受注前後の初期のフェーズにおいても、上述したように所定の性能指標値を客観的な演算によって得ることで、少ない情報量から正確な性能評価を行うことが可能である。
【００５７】
なお、以上に説明した本実施形態の性能予測装置は、コンピュータのＣＰＵあるいはＭＰＵ、ＲＡＭ、ＲＯＭなどで構成されるものであり、ＲＡＭやＲＯＭに記憶されたプログラムが動作することによって実現できる。したがって、コンピュータが上記機能を果たすように動作させるプログラムを例えばＣＤ−ＲＯＭのような記録媒体に記録し、コンピュータに読み込ませることによって実現できるものである。記録媒体としては、ＣＤ−ＲＯＭ以外に、フロッピーディスク、ハードディスク、磁気テープ、光磁気ディスク、不揮発性メモリカード等を用いることができる。
【００５８】
また、コンピュータが供給されたプログラムを実行することにより上述の実施形態の機能が実現されるだけでなく、そのプログラムがコンピュータにおいて稼働しているＯＳ（オペレーティングシステム）あるいは他のアプリケーションソフト等と共同して上述の実施形態の機能が実現される場合や、供給されたプログラムの処理の全てあるいは一部がコンピュータの機能拡張ボードや機能拡張ユニットにより行われて上述の実施形態の機能が実現される場合も、かかるプログラムは本発明の実施形態に含まれる。
【００５９】
上記実施形態では、性能指標演算部４が複数の演算式をあらかじめ用意している例を示したが、１つもしくは幾つかの演算式を、与えられる各条件のデータに対して重み係数を変えることによって補正するようにしても良い。他にも、上記実施形態において示した性能予測装置の構成および動作は、何れも本発明を実施するにあたっての具体化のほんの一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその精神、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
【００６０】
【発明の効果】
本発明は上述したように、入力された条件のデータだけでなく、これから所定の性能指標値を演算してその演算結果も用いて性能予測を行うようにしたので、性能指標値をユーザの予測に基づいて入力するのとは異なり、ユーザの経験や勘などが入り込む余地をなくすことができ、正確な性能予測をするだけでなく、誰が行っても一様な予測結果を得ることができる。
【００６１】
また、本発明の他の特徴によれば、与えられる条件のデータ等に応じて異なる性能指標値を演算するようにしたので、例えば、様々なシステムの種類、システム開発上における様々なフェーズ、求めるべき様々な性能指標値の種類に応じて演算式を変えることで、様々な顧客の色々なニーズに対応することができる。特に、システム開発の初期のフェーズにおいて得られる情報量が少ない状態においても、当該少ない情報量から正確な性能評価を行うことができる。
【００６２】
さらに、本発明のその他の特徴によれば、性能予測データの統計値を演算することに加えて、条件のデータ値を様々に変えて演算した統計値をグラフ化して出力したり、要求されている性能を満たす条件のデータを自動的に判断してその結果を出力する処理を行うようにしたので、従来のいわゆる安全率という漠然とした値ではなく、統計的データに基づいた性能予測値を出力することができ、性能予測の結果をユーザに分かりやすく提供することができる。
【図面の簡単な説明】
【図１】本実施形態による性能予測装置の機能構成を示すブロック図である。
【図２】ハードウェア条件のパラメータを入力するためのテンプレートの一例を示す図である。
【図３】ハードウェア条件入力部より入力されるシステム構成の例を示す図である。
【図４】ソフトウェア条件のパラメータを入力するためのテンプレートの一例を示す図である。
【図５】ワークロード条件のパラメータを入力するためのテンプレートの一例を示す図である。
【図６】ある特定のパラメータを様々に変えて応答時間のシミュレーションを行った結果をグラフ化した例を示す図である。
【符号の説明】
１  ハードウェア条件入力部
２  ソフトウェア条件入力部
３  ワークロード条件入力部
１ａ，２ａ，３ａ  条件入力用テンプレート
４  性能指標演算部
５  演算選択部
６  性能予測演算部
【図１】
0004739472.tif 000005
【図２】
0004739472.tif 000006
【図３】
0004739472.tif 000007
【図４】
0004739472.tif 000008
【図５】
0004739472.tif 000009
【図６】
0004739472.tif 000010