(57)【要約】【課題】ＩＰ計測とストレージネットワーク計測を連携させ、きめの細かいストレージ処理の解析を行う。【解決手段】ＩＰネットワークに接続されたクライアントは、ＤＢサーバに問合せ時、問合せ識別子を付加する手段と、問合せ送信時と、結果受信時に問合せ識別子とともに時刻情報を蓄積する手段を持ち、ＩＰネットワークとストレージネットワークに接続されたＤＢサーバは、クライアントに結果送信時、問合せ受信時に受け取った問合せ識別子を付加する手段と、問合せ受信時と、ストレージへのＩ／Ｏ要求時と、ストレージからのＩ／Ｏ結果受信時と、クライアントへの結果送信時に、問合せ識別子とともに時刻情報を蓄積する手段を持つ。【選択図】　図１０
2004005085.tif 000002
【特許請求の範囲】
【請求項１】
ＩＰネットワークおよびＤＢサーバを経由してストレージへのアクセスを行うデータベースシステムにおいて、
前記ＩＰネットワークに接続され、前記ＤＢサーバに問合せ送信時、問合せ識別子を付加する手段と、問合せ送信時と、前記ＤＢサーバからの結果受信時に問合せ識別子とともに時刻情報を蓄積する手段を有するクライアントと、
前記クライアントに前記ストレージへのアクセス結果送信時、問合せ受信時に受け取った問合せ識別子を付加する手段と、問合せ受信時と、前記ストレージへのＩ／Ｏ要求時と、前記ストレージからのＩ／Ｏ結果受信時と、前記クライアントへの結果送信時に、問合せ識別子とともに時刻情報を蓄積する手段とを有するＤＢサーバ及び、
前記クライアント、前記ＤＢサーバから蓄積したデータを収集し、問合せ識別子をキーに、問合せにかかった通信遅延、ＤＢサーバ処理時間、ストレージ処理時間をそれぞれ計測する手段を有する性能測定サーバとを備えたことを特徴とするストレージネットワーク性能測定システム。
【請求項２】
更に、前記ＩＰネットワーク上の転送パケットから、前記問合せ、及び、結果のパケットをキャプチャし、問合せ識別子とともに時刻情報を蓄積する手段を有するＩＰメータを備えたことを特徴とする請求項１記載のストレージネットワーク性能測定システム。
【請求項３】
前記ＩＰメータは前記ＩＰネットワークのエッジルータに設けられたことを特徴とする請求項２記載のストレージネットワーク性能測定システム。
【請求項４】
前記性能測定サーバは問合せにかかった通信遅延、ＤＢサーバ処理時間、ストレージ処理時間を出力する手段を有することを特徴とする請求項１記載のストレージネットワーク性能測定システム。
【請求項５】
前記性能測定サーバは前記クライアントおよび前記ＤＢサーバに計測の対象となるクライアントおよびＤＢサーバのＩＰアドレスを格納せしめることを特徴とする請求項１記載のストレージネットワーク性能測定システム。
【請求項６】
前記ストレージはＩＰネットワークとは異種のストレージネットワークに接続されており、前記ＤＢサーバはＩＰネットワークと前記ストレージネットワークに接続されており、前記ＤＢサーバは前記クライアントとの問合せの受信および前記ストレージへのアクセス結果の送信は前記ＩＰネットワークのプロトコルで行い、前記ストレージへのＩ／Ｏ要求および前記ストレージからのＩ／Ｏ結果受信は前記ストレージネットワークのプロトコルで行うことを特徴とする請求項１記載のストレージネットワーク性能測定システム。
【請求項７】
ＩＰネットワークとＤＢサーバを経由してストレージネットワークに接続されたストレージへのアクセスを行うデータベースシステムにおいて、
前記ＤＢサーバに問合せ送信時、問合せ識別子を付加する手段を有するクライアントと、
前記ストレージネットワークに接続され、前記クライアントに結果送信時、問合せ受信時に受け取った問合せ識別子を付加する手段と、ストレージにＩ／Ｏ要求を送信時、対応する問合せ識別子を付加する手段とを有するＤＢサーバと、
前記ＤＢサーバへのＩ／Ｏ結果送信時、Ｉ／Ｏ要求時に受け取った問合せ識別子を付加する手段を有するストレージと、
前記ＩＰネットワーク上の転送パケットから、前記問合せ、及び、結果のパケットをキャプチャし、問合せ識別子とともに時刻情報を蓄積する手段を有するＩＰメータと、
前記ストレージネットワーク上の転送パケットから、Ｉ／Ｏ要求、及び、Ｉ／Ｏ結果のパケットをキャプチャし、問合せ識別子とともに時刻情報を蓄積する手段を有するストレージメータ及び、
前記ＩＰメータとストレージメータから蓄積したデータを収集し、問合せ識別子をキーに、問合せによって発生したパケットの転送遅延を計測する手段を有する性能測定サーバを備えたことを特徴とするストレージネットワーク性能測定システム。
【請求項８】
前記性能測定サーバは前記ＩＰメータに蓄積された情報からＩＰネットワーク転送遅延時間を求めることを特徴とする請求項７記載のストレージネットワーク性能測定システム。
【請求項９】
前記ストレージネットワークはＳＡＮであり、前記ストレージメータは前記ＳＡＮのファイバチャネルスイッチに設けられていることを特徴とする請求項７記載のストレージネットワーク性能測定システム。
【請求項１０】
異種ネットワークが混在するシステムにおいて、
各ネットワークに設置され、各ネットワーク内を転送されるパケットをキャプチャし、時刻情報とともに蓄積する蓄積手段と、
複数の異種ネットワークに接続され、異種ネットワーク間を転送されるパケットをプロトコル変換し対応付けする手段を有する異種ネットワーク間を接続するプロトコル変換ノード、及び、
前記異種ネットワークの一つに接続され、前記蓄積手段に蓄積された情報から異種ネットワークをまたがるデータの転送遅延を測定する手段とを備えたことを特徴とする転送性能測定システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
ＩＰネットワークを経由してストレージへのアクセスを行うデータベースシステムの性能測定方法に関する。
【０００２】
【従来の技術】
ＤＢサーバの管理ツールとしては、日経オープンシステム１９９７年９月（Ｎｏ．５４）［ＲＤＢの性能向上支援ツール］ＰＰ．２８３〜２９４に記載のように、既に多くの製品が出荷されている。
【０００３】
管理ツールはその目的によって、ＤＢチューニングツール、ＤＢ監視ツール、負荷テストツールの３つに分けられる。
【０００４】
ＤＢチューニングツールは、システムのボトルネックを判断し、改善すべき点を指摘するものである。ＤＢサーバにおいて、ＳＱＬ文毎にＣＰＵ時間を測定し、性能に与える影響が大きいＳＱＬ文を見つけたり、実行したＳＱＬ文毎にＣＰＵ時間やＩ／Ｏ待ちのグラフを表示したりすることができるようになっている。
【０００５】
ＤＢ監視ツールは、ＤＢサーバの状況を把握するものである。ＤＢサーバにおいて、ＣＰＵ負荷やディスクの空き容量、トランザクション数等のトラブルに影響するパラメータを監視し、トラブルの予防に使う。
【０００６】
負荷テストツールは、実機クライアントや仮想ユーザを用いてＤＢサーバに負荷をかけ、その応答時間を計測する。収集した応答時間の情報を分析することで、サーバの負荷性能を定量的に測るというものである。
【０００７】
【発明が解決しようとする課題】
従来は、ＤＢサーバ側、あるいは、クライアント側のどちらかにおいて、ストレージ処理（例えば、ＳＱＬ文）の性能を測定していた。その為、ネットワーク上の転送遅延時間が把握できず、ボトルネックの分析や、障害箇所の切り分けが困難であった。
【０００８】
本発明が解決しようとする課題は、より極めの細かいストレージ処理の解析を可能とすることである。
【０００９】
【課題を解決するための手段】
ＤＢサーバに問合せ送信時、問合せ識別子を付加し、問合せ送信時と、ＤＢサーバからの結果受信時に問合せ識別子とともに時刻情報を蓄積するクライアントと、クライアントに結果送信時、問合せ受信時に受け取った問合せ識別子を付加し、問合せ受信時と、ストレージへのＩ／Ｏ要求時と、ストレージからのＩ／Ｏ結果受信時と、クライアントへの結果送信時に、問合せ識別子とともに時刻情報を蓄積するＤＢサーバと、上記、クライアント、ＤＢサーバから蓄積したデータを収集し、問合せ識別子をキーに、問合せにかかった通信遅延、ＤＢサーバ処理時間、ストレージ処理時間をそれぞれ計測する性能測定サーバを設けた。
【００１０】
【発明の実施の形態】
以下に本発明の実施例について図を参照しながら説明する。
（第１実施例）
図１にシステムの全体構成を示す。複数のクライアントコンピュータ１ａ，１ｂ、複数のＤＢサーバ２ａ，２ｂ、データを保存する複数のストレージ３ａ，３ｂ、クライアントとＤＢサーバ間を接続するＩＰネットワーク４、ＤＢサーバとストレージ間に介在するストレージエリアネットワーク（ＳＡＮ）５からなる。ＩＰネットワークではルータ６ａ，６ｂ，６ｃ，６ｄが相互に接続されており、ＳＡＮではファイバチャネルスイッチ８によってＤＢサーバとストレージが相互に接続される。性能測定サーバ７は、ＩＰネットワークに接続され、計測機能が搭載されたＤＢサーバやルータ、クライアントから計測情報を収集し、ストレージネットワークシステム（クライアントサーバからストレージまでのシステム全体を指す）の評価、解析を行う。尚、本実施例では、データベースマネージメントシステム（ＤＢＭＳ）として、リレーショナルデータベースマネージメントシステム（ＲＤＢＭＳ）を用いることとし、ＲＤＢＭＳの共通言語であるＳＱＬを用いる。また、ストレージネットワーク（ストレージとＤＢサーバを相互に接続するもの）はＳＡＮとしているが、ネットワークアタッチドストレージ（ＮＡＳ）や、ＤＢサーバとストレージがＳＣＳＩ接続される形態でもよい。
【００１１】
始めに、クライアントコンピュータ１ａの動作から説明する。
図２にクライアントコンピュータのソフト構成を示す。アプリケーション２１ａ，２１ｂは、ＤＢ接続ソフト２２が提供するインタフェースに沿ってＤＢサーバを指定しＳＱＬ文を投げ、結果を受け取ることで、ＤＢサーバ２ａへのアクセスを行う。ＤＢ接続ソフトは、ＴＣＰ／ＩＰプロトコル２３を使って、ＤＢサーバとのセッション確立をおこない、アプリケーションが投げたＳＱＬ文をサーバに届け、サーバからの結果を受け取り、アプリケーションに渡す。ＴＣＰ／ＩＰプロトコル２３は、ＳＱＬ文を実際にネットワークに流せる形のパケットにしてネットワーク上に流し、相手に送り届け、自分宛てのパケットをネットワーク上から受け取る役割を受け持つ。
【００１２】
ＤＢ接続ソフト２２の動作について、図３を用いてより詳しく説明する。
図３の動作の説明に先立って、先ず、使用するテーブルの内容について説明する。
【００１３】
図４に問合せ管理テーブル３２の構成を示す。このテーブルは、ＤＢサーバからＳＱＬ問合せに対する結果を受信したときに、その結果をどのアプリケーションに渡すかを特定するものであり、結果通知部３５によって参照される。問合せがあったアプリケーションの識別コードをセットするフィールド４１と、後述するコマンドＩＤをセットするフィールド４２から構成される。
【００１４】
図５に計測ルールの構成を示す。計測ルール３７は、性能測定サーバ７からの要求によって、ルール受信部３６がセットするものである。即ち、性能測定サーバ７が計測対象となるクライアントやＤＢサーバを指定する。計測対象となるクライアント、および、ＤＢサーバのＩＰアドレスを設定するフィールド５１，５２からなる。値が“＊”の場合は、全てのクライアント、あるいは、全てのＤＢサーバを意味する。
【００１５】
図６に計測データテーブル３８の構成を示す。このテーブルは計測したデータを格納するものであり、後述するＤＢサーバ、ＩＰメータにおいても同一のテーブルを使用する。送信元と送信先アドレスをセットするフィールド６１，６２、ＩＰメータアドレスをセットするフィールド６３、計測時刻をセットするフィールド６４と、データ種別、コマンドＩＤ、データをセットするフィールド６５〜６７から構成される。データ種別は、クライアントからの“問合せ”、ＤＢサーバからの“結果”、ＤＢサーバからの“Ｉ／Ｏ要求”、ストレージからの“Ｉ／Ｏ結果”の４つの識別コードからなる。尚、ＩＰメータアドレスフィールド６３は、ＩＰメータでのみ使用し、データフィールド６７については、重複して取得する必要がないので、ＤＢサーバ、ＩＰメータ、クラインアントのいずれか一箇所で取得すればよく、ＤＢサーバでのみ使用する。
【００１６】
以上が、使用するテーブルの説明であり、次に動作について説明する。
アプリケーション２１ａからのＳＱＬ文は、ＳＱＬ受付部３１に渡される。ＳＱＬ受付部では、ＳＱＬ問合せを識別するためのコマンドＩＤを生成し、アプリケーション識別コードと共に、問合せ管理テーブル３２にセットする。
【００１７】
コマンドＩＤのフォーマットを図７に示す。クライアントのＩＰアドレスをセットするフィールド７１と、ＤＢ接続ソフトにてローカルに管理する一貫番号をセットするフィールド７２からなる。ＩＰアドレスは、グローバルアドレスでありシステムで一意に付与されるものである。アプリケーションから渡されたＳＱＬ文は、このコマンドＩＤによって一意に特定される。
【００１８】
ＴＣＰ／ＩＰ送信部３３では、渡されたコマンドＩＤとＳＱＬ文から図８のフォーマットのデータを作成し、ＴＣＰ／ＩＰプロトコル２３に送信を依頼する。また、計測ルール３７を参照し、計測条件にマッチしていれば、計測データテーブル３８への記録処理を行う。
【００１９】
図８は、例えばクライアント１ａとＤＢサーバ２ａ間で渡されるデータのフォーマットである。フィールド８１には、クライアントからのＳＱＬ問合せか、ＤＢサーバからの結果かを特定する為のデータ種別をセットする。フィールド８２にはコマンドＩＤを、フィールド８３にはＳＱＬ文、もしくは、結果をセットする。
【００２０】
計測データテーブル３８への記録処理は、送信元にクライアントＩＰアドレスを、送信先にＤＢサーバＩＰアドレスをセットし、計測時刻と、データ種別（問合せ）、コマンドＩＤをそれぞれセットする。
【００２１】
ＴＣＰ／ＩＰプロトコル２３では、ＴＣＰ送信部３３から渡されたデータをＴＣＰ／ＩＰパケットにしてネットワーク上に流し、ＤＢサーバ２ａへ送り届ける。また、ＤＢサーバからの結果を受信し、ＴＣＰ／ＩＰ受信部３４に渡す。
【００２２】
ＴＣＰ／ＩＰ受信部３４では、受け取ったデータを結果通知部３５に渡すとともに、計測ルール３７を参照し、計測条件にマッチしていれば、計測データテーブル３８への記録処理を行う。ここでの記憶処理は、送信元にＤＢサーバアドレスを、送信先にクライアントＩＰアドレスをセットし、計測時刻と、データ種別（結果）、コマンドＩＤをそれぞれセットする。
【００２３】
結果通知部３５では、ＴＣＰ／ＩＰ受信部３４から受け取ったデータのコマンドＩＤから問合せ管理テーブル３２をサーチすることで、問合せをおこなったアプリケーションを特定し、結果を渡す。記録した計測データはデータ送信部３９が性能測定サーバ７に転送する。また、ルール受信部３６において、性能測定サーバから送信された計測ルールを受信し、計測ルール３７の更新処理が行われる。
【００２４】
以上がクライアントの動作であり、これによって、性能測定サーバ７によって指定されたクライアントとＤＢサーバ間のＳＱＬ問合せに対し、ＳＱＬ問合せ送信時刻、ＤＢサーバからの結果受信時刻が、計測データテーブル３８に記録される。
【００２５】
次にＤＢサーバ２ａのソフト構成と機能構成について説明する。
ＤＢサーバのソフト構成を図９に示す。ＲＤＢＭＳ（リレーショナルデータベースマネージメントシステム）９１はリレーショナルＤＢを管理する為のソフトである。ディスク上へのデータ格納や、ディスク上からのデータ検索を行う。ＴＣＰ／ＩＰプロトコル９２は、前述の通りＩＰネットワーク４と情報を送受信するものである。ＦＣドライバ９３は、ファイバーチャネルを使って例えばストレージ３ａへのディスクＩ／Ｏ処理を行う。
【００２６】
図１０を用いてＲＤＢＭＳ　９１の動作についてより詳しく説明する。ＲＤＢＭＳは実際には、アクセス権限の確保、障害によるデータの復旧、データの一貫性の保障、複数ユーザからの同時アクセス（排他制御）の制御等、機能は多岐に渡るが、本実施例ではストレージの性能測定に関する部分のみ説明する。初めに使用するテーブルの内容について説明する。
【００２７】
図１１に応答管理テーブル１１０の構成を示す。このテーブルはクライアント側で動作する問合せ管理テーブルに対応するものであり、問合せ元のクライアントのＩＰアドレスと、コマンドＩＤをセットするフィールド１１０１，１１０２から構成される。これによって結果を送信する際に、送信先のクライアントを特定する。
【００２８】
計測ルール１１１、及び、計測データテーブル１１２については、クライアントにおける計測ルール３７、及び、計測データテーブル３８と同一である。次に動作について説明する。
【００２９】
ＴＣＰ／ＩＰ受信部１０１では、クライアントからのＳＱＬ問合せを受信し、ＳＱＬ受付部１０２にデータを渡す。その際、応答管理テーブル１１０への登録、および、計測ルール１１１を参照し、計測条件にマッチしていれば、計測データテーブル１１２への記録を行う。ここでの記録処理は、送信元アドレスにクライアントＩＰアドレスを、送信先アドレスにＤＢサーバのＩＰアドレスをセットし、計測時刻、データ種別（ＳＱＬ問合せ）、コマンドＩＤと、データ（ＳＱＬ文）をそれぞれセットする。
【００３０】
ＳＱＬ受付部１０２では、ＳＱＬ文法をチェックし、ＲＤＢＭＳが理解できる内部形式に変換し、データアクセス部１０３に渡す。ＲＤＢＭＳでは、ディスクＩ／Ｏの回数を減らし、高速に処理がおこなえるようにキャッシュ１１３を持っている。データアクセス部１０３は、キャッシュ上で処理できる場合には、キャッシュからデータを取り出すか、もしくは、キャッシュ上へのデータの書き込みを行い、結果を結果通知部１０６に渡す。また、キャッシュ上で処理できない場合には、物理的なブロックの格納場所を指定し、ディスクＩ／ＯをディスクＩ／Ｏ要求部１０４に依頼する。
【００３１】
ディスクＩ／Ｏ要求部１０４は、ＦＣドライバ９３経由で、ＳＡＮのプロトコルであるファイバーチャネル（ＦＣ）プロトコルに変換し、ディスクＩ／Ｏ要求を対象のディスクに送信する。そして、計測ルールにマッチした問合せについては、計測データテーブル１１２への記録を行う。
【００３２】
ディスクＩ／Ｏ結果受信部１０５では、ＦＣドライバ９３経由でストレージから結果を受信すると、結果通知部１０６に結果を渡すとともに、計測ルール１１１にマッチした問合せについては、計測データテーブル１１２への記録を行う。
【００３３】
計測ルールにマッチするか否かは、ＴＣＰ／ＩＰ受信部１０１がＳＱＬ受付時に判断し、ディスクＩ／Ｏ要求部１０４と、ディスクＩ／Ｏ結果受信部１０５には、コマンドＩＤとともに、パラメータとして渡ってくるものとする。ここでの記録処理では、送信元、あるいは、送信先がストレージ装置の場合には、対象ストレージの装置ＩＤをセットする（例えば、図６第２欄および第３欄のｓｄ−１）。データ種別には、ディスクＩ／Ｏ要求か、ディスクＩ／Ｏ結果かを識別するためのコードをセットする。さらに、時刻情報、コマンドＩＤをセットする。尚、ディスクＩ／Ｏについては、複数回発生することもあるが、その時には、ディスクＩ／Ｏ毎に計測する。
【００３４】
結果通知部１０６では、キャッシュ１１３から取得したデータ、もしくは、ディスクＩ／Ｏによって取得したデータを用いて、図８に示すフォーマットにてクライアントに返す結果を作成する。そして、ＴＣＰ／ＩＰ送信部１０７に渡す。
【００３５】
ＴＣＰ／ＩＰ送信部１０７では、応答管理テーブル１１０を参照し、通知先のクライアントアドレスを取得するとともに、計測ルール１１１を参照し、計測条件にマッチしていれば、計測データテーブル１１２への記録処理を行う。そして、ＴＣＰ／ＩＰプロトコル９２への送信依頼を行う。
【００３６】
ここでの記録処理においては、送信元にＤＢサーバＩＰアドレスを、送信先にクライアントＩＰアドレスをセットし、計測時刻と、データ種別（結果）、コマンドＩＤ、データ（結果）をそれぞれセットする。
【００３７】
記録した計測データについてはデータ送信部１０９が性能測定サーバ７に転送する。また、ルール受信部１０８において、性能測定サーバから送信された計測ルールを受信し、計測ルール１１１の更新処理が行われる。これは管理者が決めるもので、例えば、ユーザからの問い合わせに基づいたり、障害の発生予測に基づいたりして決められる。
【００３８】
以上のＲＤＢＭＳの処理によって、性能測定サーバによって指定されたクライアントとＤＢサーバ間のＳＱＬ問合せに対し、ＤＢサーバでのＳＱＬ問合せ受信時刻、ディスクＩ／Ｏ開始、終了時刻、クライアントへの結果送信時刻、及び、データ（ＳＱＬ文／結果）が計測データテーブル１１２に記録される。
【００３９】
次に、ＩＰネットワーク４上で、クライアント、ＤＢサーバ間でやりとりされるデータを計測するＩＰメータについて説明する。ＩＰメータ機能は情報処理端末、または、ルータ内にプログラムとして実装される。本実施例では、ＩＰネットワークのエッジルータに実装されているものとする。なお、ＩＰメータは必ずしも実装されてなくとも良い。例えば、クライアントとＤＢサーバ間の転送時間を計測し、その間のネットワーク転送遅延時間まで計測しない場合は実装されていなくても良い。また、エッジルータ間のネットワーク転送遅延時間まで計測したい場合にはＩＰメータは実装される。
【００４０】
図１２はＩＰメータの機能構成図である。パケット受信部１２３は、ネットワークを流れる全パケットを読み込む。フィルタリング部１２４で、計測ルール１２２を参照し、計測に必要なパケットを選択し、不要なパケットは廃棄し計測処理はおこなわない。フィルタリング部１２４では、読み込んだパケットのＩＰヘッダから、ＳＡ（Ｓｏｕｒｃｅ　Ａｄｄｒｅｓｓ），ＤＡ（Ｄｅｓｔｉｎａｔｉｏｎ　Ａｄｄｒｅｓｓ）を読み込むとともに、ＴＣＰデータ部にセットされているデータ種別をチェックし、計測対象パケットか否かを判断する。
【００４１】
計測必要なパケットであれば、計測部１２５が計測データテーブル１２７に記録する。計測データテーブルは、ＤＢサーバのものと同一構成である。このＩＰメータの記録処理では、送信元／送信先アドレスに、それぞれＩＰヘッダのＳＡ、ＤＡを、メータアドレスにＩＰメータのＩＰアドレスを、それから、計測時刻と、ＴＣＰデータ部にセットされているデータ種別、ならびに、コマンドＩＤをセットする。
【００４２】
記録した計測データはデータ送信部１２６が性能測定サーバ７に転送する。また、ＩＰメータはルール受信部１２１において、性能測定サーバ７から送信された計測ルールを受信し、計測ルール１２２の更新処理を行う。これらのＩＰメータ機能によって、性能測定サーバによって指定されたクライアントとＤＢサーバ間のＳＱＬ問合せと結果のパケットが計測される。なお、ＳＱＬ問合せと結果については、データ長が長い場合、ＴＣＰ／ＩＰプロトコルにてパケット分割されることがある。この場合、先頭パケットを受信時に計測されることになり、若干の誤差が発生することになる。
【００４３】
クラインアント、ＤＢサーバ、ＩＰメータの時計は高精度で一致している必要があるが、これについては、ＧＰＳ（Ｇｌｏｂａｌ　Ｐｏｓｉｔｉｏｎｉｎｇ　Ｓｙｓｔｅｍ）の利用や、ＮＴＰ（Ｎｅｔｗｏｒｋ　Ｔｉｍｅ　Ｐｒｏｔｏｃｏｌ）による時刻合わせにより解決する。
【００４４】
上記、クライアント、ＤＢサーバの計測機能、及び、エッジルータに搭載されたＩＰメータ機能によって、性能測定サーバ７から指定されたクライアントとＤＢサーバ間のＳＱＬ問合せに対して、どのようなタイミングで計測されるかを簡単に説明する。
【００４５】
図１３は、クライアント１ａからの検索要求に対して、ＤＢサーバ内でキャッシュ処理がおこなわれた場合のシーケンスである。クライアントの検索要求は、先ず、ＳＱＬ問合せ送信時に計測される。そして、ＴＣＰ／ＩＰプロトコルにてＴＣＰ／ＩＰパケットに変換され、ＩＰネットワークを経由してＤＢサーバに渡る。その際、ＩＰメータ機能を実装したエッジルータにおいて、ＳＱＬ問合せのＴＣＰ／ＩＰパケットを中継時、計測処理が行われる。
【００４６】
ＤＢサーバはＳＱＬ問合せを受信した時点、及び、結果送信時に計測処理をおこない、クライアントへの結果送信処理を行う。ＤＢサーバからの検索結果も検索要求と同様にＴＣＰ／ＩＰパケットに変換され、経由したエッジルータ上で計測処理が行われる。これによって、クライアントとＤＢサーバ間のネットワーク転送遅延時間と、ＤＢサーバでの処理時間、及び、ＩＰネットワーク上の各ルータの中継時間をそれぞれ計測することが可能となる。
【００４７】
図１４は、クライアントからの検索要求に対して、キャッシュ処理がおこなわれなかった場合のシーケンスである。クライアントとＤＢサーバ間の計測処理については、図１３のケースと同一である。ＤＢサーバでは、ストレージへのディスクＩ／Ｏ要求時と、ストレージからのディスクＩ／Ｏ結果受信時、計測処理を行うので、ディスクＩ／Ｏ時間の計測が可能となる。
【００４８】
最後に性能測定サーバの動作について図１５を用いて説明する。
先ず、性能測定ルールの設定方法について説明する。ルール作成部１５１は、オペレータから計測対象クライアントとＤＢサーバを指定してもらうことで、計測ルールを作成し、計測ルール１５２に登録する。計測ルール（図５）の内容は、前述の通りである。ルール送信部１５３は、計測ルールを受け取り、計測ノード管理テーブル１５４に登録されたＩＰメータ、及び、計測対象のＤＢサーバ、及び、クライアントに送信する。計測ノード管理テーブル１５４には、ＩＰメータ、ＤＢサーバ、クライアントが登録されている。図１６に示すように、計測ノード管理テーブル１５４はＩＰアドレスをセットするフィールド１６１と、ＩＰメータかＤＢサーバかクライアントかを識別するノードタイプをセットするフィールド１６２から構成される。
【００４９】
次に、計測データを収集し、解析結果を表示するまでの動作について説明する。計測データの収集、及び、解析はオペレータからの指示によって行われる。
【００５０】
計測データ取得部１５５は、計測対象となっているＤＢサーバ、クライアントと、計測ノード管理テーブル１５４に登録されたＩＰメータに対して、計測データ取得要求を送信し、その応答としての計測データを受信し記憶する。結果出力部１５７では、計測データ取得後、ＤＢサーバ、クライアント、ＩＰメータのそれぞれの計測データから、順次、コマンドＩＤの一致するエントリーをサーチし、セットされた時刻情報から各処理にかかった時間を算出する。そして、例えば、図１７に示すような結果や、図１８のようなグラフを出力する。
【００５１】
図１７では、ＳＱＬ問合せ毎に、クライアントからＤＢサーバに問合せが届くまでの時間、ＤＢサーバにおける処理時間、ディスクＩ／Ｏ時間、ＤＢサーバからクライアントに結果が届くまでの時間とトータルの処理時間（フィールド１７３〜１７７）を表示している。これによって、ＳＱＬ毎にボトルネックの解析がおこなえるようになる。また、ネットワーク上の転送遅延時間と、ＤＢサーバ上の処理時間を区別して把握できるようになる。この結果をルータの設定を変えて空きのあるルータが使えるようにする、ＤＢサーバの能力のアップ、キャッシュの容量アップなどの対策に利用する。
【００５２】
図１８は、図１７の表をグラフ化したものである。これによって視覚的にＳＱＬ問合せの各処理時間を把握することができる。図のように、ＤＢサーバ処理時間や、Ｉ／Ｏ時間などにＳＱＬ文によって大きな違いが生じていることが分かる。
【００５３】
（第２実施例）
第２の実施例では、ＩＰネットワーク上に設置されたＩＰメータと、ストレージネットワーク上に設置されたＦＣメータによって計測処理を行う。
【００５４】
先ず、クライアントの動作について説明する。クライアントでは計測処理はおこなわず、計測に関する処理が不要になる。第１の実施例（図３）で説明した計測ルール３７や、計測ルールを更新するルール受信部３６、計測データを記録する計測データテーブル３８、計測データを送信するデータ送信部３９が不要となる。また、ＴＣＰ／ＩＰ送信部３３や、ＴＣＰ／ＩＰ受信部３４における計測データの記録処理も不要となる。アプリケーションから受け付けたＳＱＬ問合せを、ＤＢサーバに送信し、ＤＢサーバから受信した結果をアプリケーションに渡す処理については、第一の実施例と同一である。
【００５５】
次にＤＢサーバの動作について説明する。ＤＢサーバについても計測処理はおこなわず、計測に関する処理が不要になる。クライアントと同様に、ルール受信部、計測ルール、計測データテーブル、データ送信部が不要となる。また、各計測記録処理も不要となる。
【００５６】
図１９に第２の実施例におけるＲＤＢＭＳの機能構成を示す。
基本的には、第１の実施例における計測の記録処理が不要になったことと、ストレージとのアクセス処理を行うディスクＩ／Ｏ要求部１９４の処理内容が変わっただけである。以下、違いの部分について説明する。ディスクＩ／Ｏ要求部では、ディスクＩ／Ｏ要求時、ＦＣドライバ経由でＦＣパケットにして対象のストレージに送信する。このとき、ＦＣパケットのデータフィールドに問合せ受信時にセットされたコマンドＩＤを付加する。尚、ＦＣパケットの送信が複数回になる場合には、それぞれのＦＣパケットのデータフィールドにコマンドＩＤを付加する。
【００５７】
ディスクＩ／Ｏ結果受信部１９５において、ストレージからＩ／Ｏ要求結果受信後の処理については、第１の実施例と同一である。
【００５８】
図２０を用いてストレージの動作について説明する。機能構成としては、ＦＣドライバ部２０１と、ディスクＩ／Ｏ処理部２０２からなる。ディスクＩ／Ｏ処理部では、ＦＣドライバ経由でＦＣパケットを受信するとデータフィールドからコマンドＩＤを取得するとともに、Ｉ／Ｏを行う物理的なブロック場所の情報を読み出し、ヘッドを動作させデータの読み書きを実行する。そして、ディスクＩ／Ｏ結果をＦＣドライバ経由でＦＣパケットにして、対象ＤＢサーバに送信する。このとき、ＦＣパケットのデータフィールドには、ディスクＩ／Ｏ要求時にセットされたコマンドＩＤを付加する。
【００５９】
次に計測処理を行うＩＰメータとＦＣメータの処理について説明する。ＦＣメータとはストレージを接続するネットワークに接続され計測を行うストレージメータの一つであり、ファイバチャネルでストレージが接続されている場合のストレージメータをいう。
ＩＰメータの処理については、第１の実施例と同一であり省略する。ＦＣメータの機能構成は、計測対象がＩＰパケットからＦＣパケットに変わっただけであり、ＩＰメータの機能構成（図１２）と同一である。本実施例では、ＦＣメータは、ＦＣスイッチ８内に搭載され、ミラーリング機能等を用いてＦＣパケットをキャプチャする。また、ＦＣメータは計測ルールの更新、ならびに、計測データの送信処理を行うため、ＩＰプロトコルで接続されているものとする。
【００６０】
パケット受信部１２３に相当する処理部は、ＦＣスイッチ上を流れる全ＦＣパケットを読み込む、フィルタリング部１２４に相当する処理部で、計測ルール１２２に相当するルールを参照し、計測に必要なＦＣパケットを選択し、不要なＦＣパケットは廃棄し計測処理はおこなわない。
【００６１】
計測ルールについては、図２１に示すようにストレージとＤＢサーバのＦＣのアドレスとする。フィルタリング部ではＦＣヘッダ、ＳＡ（Ｓｏｕｒｃｅ　Ａｄｄｒｅｓｓ），ＤＡ（Ｄｅｓｔｉｎａｔｉｏｎ　Ａｄｄｒｅｓｓ）を読み込み、計測対象パケットか否かを判断する。
【００６２】
計測必要なＦＣパケットであれば、計測部１２５に相当する処理部が計測データテーブル１２７に相当する処理部に記録する。計測データテーブルは、第１の実施例と同一構成とする。
【００６３】
このＦＣメータの記録処理では、送信元／送信先アドレスに、ＦＣヘッダのＳＡ、ＤＡをセットし、計測時刻と、ＦＣデータフィールドにセットされたコマンドＩＤをセットする。
【００６４】
記録した計測データはデータ送信部１２６が性能測定サーバ７に転送する。また、ルール受信部１２１に相当する処理部において、性能測定サーバから送信された計測ルールに相当するルールを受信し、計測ルール１２２に相当するルールの更新処理を行う。
【００６５】
性能測定サーバは、ＩＰメータに対しては、計測対象のクライアントとＤＢサーバのＩＰアドレスを計測ルールとして送信し、ＦＣメータに対しては、計測対象のストレージとＤＢサーバのＦＣアドレスを計測ルールとして送信する。
【００６６】
ＩＰメータとＦＣメータでは、計測ルールを受信し、対象のＩＰパケットとＦＣパケットをキャプチャし、計測データテーブルにそれぞれ蓄積する。
【００６７】
ＦＣパケットについては、発生に至ったＳＱＬ問合せのコマンドＩＤがセットされている。この為、ＩＰメータとＦＣメータの計測データから、一致するコマンドＩＤを持つエントリーをサーチすることで、図２２に示すようなストレージ処理時間、ストレージＩ／Ｏ回数、ネットワーク転送遅延時間等のデータを解析することができる。
【００６８】
以上の実施例によって、より極めの細かい解析が可能となり、ストレージ性能のボトルネックの解析やＤＢチューニング等が効率的におこなえるようになる。
【００６９】
また、障害時の切り分けについても、ＤＢサーバ／ストレージによる問題か、ネットワークによる問題かの特定もより明確におこなえるようになる。
【００７０】
【発明の効果】
異種のネットワークに亘るシステムの性能測定を連携して行うことが出来る。
【図面の簡単な説明】
【図１】本発明の第一の実施例におけるシステム全体構成図である。
【図２】本発明の第一の実施例におけるクライアントコンピュータのソフト構成図である。
【図３】本発明の第一の実施例におけるＤＢ接続ソフトの機能構成図である。
【図４】本発明の第一の実施例における問合せ管理テーブルを示す図である。
【図５】本発明の第一の実施例における計測ルールを示す図である。
【図６】本発明の第一の実施例における計測データテーブルを示す図である。
【図７】本発明の第一の実施例におけるコマンドＩＤフォーマットを示す図である。
【図８】本発明の第一の実施例におけるデータフォーマットを示す図である。
【図９】本発明の第一の実施例におけるＤＢサーバのソフト構成図である。
【図１０】本発明の第一の実施例におけるＲＤＢＭＳの機能構成図である。
【図１１】本発明の第一の実施例における応答管理テーブルを示す図である。
【図１２】本発明の第一の実施例におけるＩＰメータの機能構成図である。
【図１３】第一の実施例におけるキャッシュ処理がおこなわれた場合のフローである。
【図１４】第一の実施例におけるキャッシュ処理がおこなわれない場合のフローである。
【図１５】第一の実施例における性能測定サーバの機能構成図である。
【図１６】第一の実施例における計測ノード管理テーブルを示す図である。
【図１７】第一の実施例における測定結果例を示す図である。
【図１８】第一の実施例における測定結果グラフ例を示す図である。
【図１９】第二の実施例におけるＲＤＢＭＳの機能構成を示す図である。
【図２０】第二の実施例におけるストレージのソフト構成を示す図である。
【図２１】第二の実施例における計測ルールを示す図である。
【図２２】第二の実施例における計測処理フローである。
【符号の説明】
１ａ，１ｂ…クライアント　２ａ，２ｂ…ＤＢサーバ　３ａ，３ｂ…ストレージ　７…性能測定サーバ
２２…ＤＢ接続ソフト　９１…ＲＤＢＭＳ
【図１】
2004005085.tif 000003
【図２】
2004005085.tif 000004
【図３】
2004005085.tif 000005
【図４】
2004005085.tif 000006
【図５】
2004005085.tif 000007
【図６】
2004005085.tif 000008
【図７】
2004005085.tif 000009
【図８】
2004005085.tif 000010
【図９】
2004005085.tif 000011
【図１０】
2004005085.tif 000012
【図１１】
2004005085.tif 000013
【図１２】
2004005085.tif 000014
【図１３】
2004005085.tif 000015
【図１４】
2004005085.tif 000016
【図１５】
2004005085.tif 000017
【図１６】
2004005085.tif 000018
【図１７】
2004005085.tif 000019
【図１８】
2004005085.tif 000020
【図１９】
2004005085.tif 000021
【図２０】
2004005085.tif 000022
【図２１】
2004005085.tif 000023
【図２２】
2004005085.tif 000024