JP2004005085A - ストレージネットワーク性能測定システム - Google Patents
ストレージネットワーク性能測定システム Download PDFInfo
- Publication number
- JP2004005085A JP2004005085A JP2002158583A JP2002158583A JP2004005085A JP 2004005085 A JP2004005085 A JP 2004005085A JP 2002158583 A JP2002158583 A JP 2002158583A JP 2002158583 A JP2002158583 A JP 2002158583A JP 2004005085 A JP2004005085 A JP 2004005085A
- Authority
- JP
- Japan
- Prior art keywords
- storage
- server
- network
- client
- result
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
- G06F11/3419—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/3495—Performance evaluation by tracing or monitoring for systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/80—Database-specific techniques
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Computer And Data Communications (AREA)
Abstract
【課題】IP計測とストレージネットワーク計測を連携させ、きめの細かいストレージ処理の解析を行う。
【解決手段】IPネットワークに接続されたクライアントは、DBサーバに問合せ時、問合せ識別子を付加する手段と、問合せ送信時と、結果受信時に問合せ識別子とともに時刻情報を蓄積する手段を持ち、IPネットワークとストレージネットワークに接続されたDBサーバは、クライアントに結果送信時、問合せ受信時に受け取った問合せ識別子を付加する手段と、問合せ受信時と、ストレージへのI/O要求時と、ストレージからのI/O結果受信時と、クライアントへの結果送信時に、問合せ識別子とともに時刻情報を蓄積する手段を持つ。
【選択図】 図10
【解決手段】IPネットワークに接続されたクライアントは、DBサーバに問合せ時、問合せ識別子を付加する手段と、問合せ送信時と、結果受信時に問合せ識別子とともに時刻情報を蓄積する手段を持ち、IPネットワークとストレージネットワークに接続されたDBサーバは、クライアントに結果送信時、問合せ受信時に受け取った問合せ識別子を付加する手段と、問合せ受信時と、ストレージへのI/O要求時と、ストレージからのI/O結果受信時と、クライアントへの結果送信時に、問合せ識別子とともに時刻情報を蓄積する手段を持つ。
【選択図】 図10
Description
【0001】
【発明の属する技術分野】
IPネットワークを経由してストレージへのアクセスを行うデータベースシステムの性能測定方法に関する。
【0002】
【従来の技術】
DBサーバの管理ツールとしては、日経オープンシステム1997年9月(No.54)[RDBの性能向上支援ツール]PP.283〜294に記載のように、既に多くの製品が出荷されている。
【0003】
管理ツールはその目的によって、DBチューニングツール、DB監視ツール、負荷テストツールの3つに分けられる。
【0004】
DBチューニングツールは、システムのボトルネックを判断し、改善すべき点を指摘するものである。DBサーバにおいて、SQL文毎にCPU時間を測定し、性能に与える影響が大きいSQL文を見つけたり、実行したSQL文毎にCPU時間やI/O待ちのグラフを表示したりすることができるようになっている。
【0005】
DB監視ツールは、DBサーバの状況を把握するものである。DBサーバにおいて、CPU負荷やディスクの空き容量、トランザクション数等のトラブルに影響するパラメータを監視し、トラブルの予防に使う。
【0006】
負荷テストツールは、実機クライアントや仮想ユーザを用いてDBサーバに負荷をかけ、その応答時間を計測する。収集した応答時間の情報を分析することで、サーバの負荷性能を定量的に測るというものである。
【0007】
【発明が解決しようとする課題】
従来は、DBサーバ側、あるいは、クライアント側のどちらかにおいて、ストレージ処理(例えば、SQL文)の性能を測定していた。その為、ネットワーク上の転送遅延時間が把握できず、ボトルネックの分析や、障害箇所の切り分けが困難であった。
【0008】
本発明が解決しようとする課題は、より極めの細かいストレージ処理の解析を可能とすることである。
【0009】
【課題を解決するための手段】
DBサーバに問合せ送信時、問合せ識別子を付加し、問合せ送信時と、DBサーバからの結果受信時に問合せ識別子とともに時刻情報を蓄積するクライアントと、クライアントに結果送信時、問合せ受信時に受け取った問合せ識別子を付加し、問合せ受信時と、ストレージへのI/O要求時と、ストレージからのI/O結果受信時と、クライアントへの結果送信時に、問合せ識別子とともに時刻情報を蓄積するDBサーバと、上記、クライアント、DBサーバから蓄積したデータを収集し、問合せ識別子をキーに、問合せにかかった通信遅延、DBサーバ処理時間、ストレージ処理時間をそれぞれ計測する性能測定サーバを設けた。
【0010】
【発明の実施の形態】
以下に本発明の実施例について図を参照しながら説明する。
(第1実施例)
図1にシステムの全体構成を示す。複数のクライアントコンピュータ1a,1b、複数のDBサーバ2a,2b、データを保存する複数のストレージ3a,3b、クライアントとDBサーバ間を接続するIPネットワーク4、DBサーバとストレージ間に介在するストレージエリアネットワーク(SAN)5からなる。IPネットワークではルータ6a,6b,6c,6dが相互に接続されており、SANではファイバチャネルスイッチ8によってDBサーバとストレージが相互に接続される。性能測定サーバ7は、IPネットワークに接続され、計測機能が搭載されたDBサーバやルータ、クライアントから計測情報を収集し、ストレージネットワークシステム(クライアントサーバからストレージまでのシステム全体を指す)の評価、解析を行う。尚、本実施例では、データベースマネージメントシステム(DBMS)として、リレーショナルデータベースマネージメントシステム(RDBMS)を用いることとし、RDBMSの共通言語であるSQLを用いる。また、ストレージネットワーク(ストレージとDBサーバを相互に接続するもの)はSANとしているが、ネットワークアタッチドストレージ(NAS)や、DBサーバとストレージがSCSI接続される形態でもよい。
【0011】
始めに、クライアントコンピュータ1aの動作から説明する。
図2にクライアントコンピュータのソフト構成を示す。アプリケーション21a,21bは、DB接続ソフト22が提供するインタフェースに沿ってDBサーバを指定しSQL文を投げ、結果を受け取ることで、DBサーバ2aへのアクセスを行う。DB接続ソフトは、TCP/IPプロトコル23を使って、DBサーバとのセッション確立をおこない、アプリケーションが投げたSQL文をサーバに届け、サーバからの結果を受け取り、アプリケーションに渡す。TCP/IPプロトコル23は、SQL文を実際にネットワークに流せる形のパケットにしてネットワーク上に流し、相手に送り届け、自分宛てのパケットをネットワーク上から受け取る役割を受け持つ。
【0012】
DB接続ソフト22の動作について、図3を用いてより詳しく説明する。
図3の動作の説明に先立って、先ず、使用するテーブルの内容について説明する。
【0013】
図4に問合せ管理テーブル32の構成を示す。このテーブルは、DBサーバからSQL問合せに対する結果を受信したときに、その結果をどのアプリケーションに渡すかを特定するものであり、結果通知部35によって参照される。問合せがあったアプリケーションの識別コードをセットするフィールド41と、後述するコマンドIDをセットするフィールド42から構成される。
【0014】
図5に計測ルールの構成を示す。計測ルール37は、性能測定サーバ7からの要求によって、ルール受信部36がセットするものである。即ち、性能測定サーバ7が計測対象となるクライアントやDBサーバを指定する。計測対象となるクライアント、および、DBサーバのIPアドレスを設定するフィールド51,52からなる。値が“*”の場合は、全てのクライアント、あるいは、全てのDBサーバを意味する。
【0015】
図6に計測データテーブル38の構成を示す。このテーブルは計測したデータを格納するものであり、後述するDBサーバ、IPメータにおいても同一のテーブルを使用する。送信元と送信先アドレスをセットするフィールド61,62、IPメータアドレスをセットするフィールド63、計測時刻をセットするフィールド64と、データ種別、コマンドID、データをセットするフィールド65〜67から構成される。データ種別は、クライアントからの“問合せ”、DBサーバからの“結果”、DBサーバからの“I/O要求”、ストレージからの“I/O結果”の4つの識別コードからなる。尚、IPメータアドレスフィールド63は、IPメータでのみ使用し、データフィールド67については、重複して取得する必要がないので、DBサーバ、IPメータ、クラインアントのいずれか一箇所で取得すればよく、DBサーバでのみ使用する。
【0016】
以上が、使用するテーブルの説明であり、次に動作について説明する。
アプリケーション21aからのSQL文は、SQL受付部31に渡される。SQL受付部では、SQL問合せを識別するためのコマンドIDを生成し、アプリケーション識別コードと共に、問合せ管理テーブル32にセットする。
【0017】
コマンドIDのフォーマットを図7に示す。クライアントのIPアドレスをセットするフィールド71と、DB接続ソフトにてローカルに管理する一貫番号をセットするフィールド72からなる。IPアドレスは、グローバルアドレスでありシステムで一意に付与されるものである。アプリケーションから渡されたSQL文は、このコマンドIDによって一意に特定される。
【0018】
TCP/IP送信部33では、渡されたコマンドIDとSQL文から図8のフォーマットのデータを作成し、TCP/IPプロトコル23に送信を依頼する。また、計測ルール37を参照し、計測条件にマッチしていれば、計測データテーブル38への記録処理を行う。
【0019】
図8は、例えばクライアント1aとDBサーバ2a間で渡されるデータのフォーマットである。フィールド81には、クライアントからのSQL問合せか、DBサーバからの結果かを特定する為のデータ種別をセットする。フィールド82にはコマンドIDを、フィールド83にはSQL文、もしくは、結果をセットする。
【0020】
計測データテーブル38への記録処理は、送信元にクライアントIPアドレスを、送信先にDBサーバIPアドレスをセットし、計測時刻と、データ種別(問合せ)、コマンドIDをそれぞれセットする。
【0021】
TCP/IPプロトコル23では、TCP送信部33から渡されたデータをTCP/IPパケットにしてネットワーク上に流し、DBサーバ2aへ送り届ける。また、DBサーバからの結果を受信し、TCP/IP受信部34に渡す。
【0022】
TCP/IP受信部34では、受け取ったデータを結果通知部35に渡すとともに、計測ルール37を参照し、計測条件にマッチしていれば、計測データテーブル38への記録処理を行う。ここでの記憶処理は、送信元にDBサーバアドレスを、送信先にクライアントIPアドレスをセットし、計測時刻と、データ種別(結果)、コマンドIDをそれぞれセットする。
【0023】
結果通知部35では、TCP/IP受信部34から受け取ったデータのコマンドIDから問合せ管理テーブル32をサーチすることで、問合せをおこなったアプリケーションを特定し、結果を渡す。記録した計測データはデータ送信部39が性能測定サーバ7に転送する。また、ルール受信部36において、性能測定サーバから送信された計測ルールを受信し、計測ルール37の更新処理が行われる。
【0024】
以上がクライアントの動作であり、これによって、性能測定サーバ7によって指定されたクライアントとDBサーバ間のSQL問合せに対し、SQL問合せ送信時刻、DBサーバからの結果受信時刻が、計測データテーブル38に記録される。
【0025】
次にDBサーバ2aのソフト構成と機能構成について説明する。
DBサーバのソフト構成を図9に示す。RDBMS(リレーショナルデータベースマネージメントシステム)91はリレーショナルDBを管理する為のソフトである。ディスク上へのデータ格納や、ディスク上からのデータ検索を行う。TCP/IPプロトコル92は、前述の通りIPネットワーク4と情報を送受信するものである。FCドライバ93は、ファイバーチャネルを使って例えばストレージ3aへのディスクI/O処理を行う。
【0026】
図10を用いてRDBMS 91の動作についてより詳しく説明する。RDBMSは実際には、アクセス権限の確保、障害によるデータの復旧、データの一貫性の保障、複数ユーザからの同時アクセス(排他制御)の制御等、機能は多岐に渡るが、本実施例ではストレージの性能測定に関する部分のみ説明する。初めに使用するテーブルの内容について説明する。
【0027】
図11に応答管理テーブル110の構成を示す。このテーブルはクライアント側で動作する問合せ管理テーブルに対応するものであり、問合せ元のクライアントのIPアドレスと、コマンドIDをセットするフィールド1101,1102から構成される。これによって結果を送信する際に、送信先のクライアントを特定する。
【0028】
計測ルール111、及び、計測データテーブル112については、クライアントにおける計測ルール37、及び、計測データテーブル38と同一である。次に動作について説明する。
【0029】
TCP/IP受信部101では、クライアントからのSQL問合せを受信し、SQL受付部102にデータを渡す。その際、応答管理テーブル110への登録、および、計測ルール111を参照し、計測条件にマッチしていれば、計測データテーブル112への記録を行う。ここでの記録処理は、送信元アドレスにクライアントIPアドレスを、送信先アドレスにDBサーバのIPアドレスをセットし、計測時刻、データ種別(SQL問合せ)、コマンドIDと、データ(SQL文)をそれぞれセットする。
【0030】
SQL受付部102では、SQL文法をチェックし、RDBMSが理解できる内部形式に変換し、データアクセス部103に渡す。RDBMSでは、ディスクI/Oの回数を減らし、高速に処理がおこなえるようにキャッシュ113を持っている。データアクセス部103は、キャッシュ上で処理できる場合には、キャッシュからデータを取り出すか、もしくは、キャッシュ上へのデータの書き込みを行い、結果を結果通知部106に渡す。また、キャッシュ上で処理できない場合には、物理的なブロックの格納場所を指定し、ディスクI/OをディスクI/O要求部104に依頼する。
【0031】
ディスクI/O要求部104は、FCドライバ93経由で、SANのプロトコルであるファイバーチャネル(FC)プロトコルに変換し、ディスクI/O要求を対象のディスクに送信する。そして、計測ルールにマッチした問合せについては、計測データテーブル112への記録を行う。
【0032】
ディスクI/O結果受信部105では、FCドライバ93経由でストレージから結果を受信すると、結果通知部106に結果を渡すとともに、計測ルール111にマッチした問合せについては、計測データテーブル112への記録を行う。
【0033】
計測ルールにマッチするか否かは、TCP/IP受信部101がSQL受付時に判断し、ディスクI/O要求部104と、ディスクI/O結果受信部105には、コマンドIDとともに、パラメータとして渡ってくるものとする。ここでの記録処理では、送信元、あるいは、送信先がストレージ装置の場合には、対象ストレージの装置IDをセットする(例えば、図6第2欄および第3欄のsd−1)。データ種別には、ディスクI/O要求か、ディスクI/O結果かを識別するためのコードをセットする。さらに、時刻情報、コマンドIDをセットする。尚、ディスクI/Oについては、複数回発生することもあるが、その時には、ディスクI/O毎に計測する。
【0034】
結果通知部106では、キャッシュ113から取得したデータ、もしくは、ディスクI/Oによって取得したデータを用いて、図8に示すフォーマットにてクライアントに返す結果を作成する。そして、TCP/IP送信部107に渡す。
【0035】
TCP/IP送信部107では、応答管理テーブル110を参照し、通知先のクライアントアドレスを取得するとともに、計測ルール111を参照し、計測条件にマッチしていれば、計測データテーブル112への記録処理を行う。そして、TCP/IPプロトコル92への送信依頼を行う。
【0036】
ここでの記録処理においては、送信元にDBサーバIPアドレスを、送信先にクライアントIPアドレスをセットし、計測時刻と、データ種別(結果)、コマンドID、データ(結果)をそれぞれセットする。
【0037】
記録した計測データについてはデータ送信部109が性能測定サーバ7に転送する。また、ルール受信部108において、性能測定サーバから送信された計測ルールを受信し、計測ルール111の更新処理が行われる。これは管理者が決めるもので、例えば、ユーザからの問い合わせに基づいたり、障害の発生予測に基づいたりして決められる。
【0038】
以上のRDBMSの処理によって、性能測定サーバによって指定されたクライアントとDBサーバ間のSQL問合せに対し、DBサーバでのSQL問合せ受信時刻、ディスクI/O開始、終了時刻、クライアントへの結果送信時刻、及び、データ(SQL文/結果)が計測データテーブル112に記録される。
【0039】
次に、IPネットワーク4上で、クライアント、DBサーバ間でやりとりされるデータを計測するIPメータについて説明する。IPメータ機能は情報処理端末、または、ルータ内にプログラムとして実装される。本実施例では、IPネットワークのエッジルータに実装されているものとする。なお、IPメータは必ずしも実装されてなくとも良い。例えば、クライアントとDBサーバ間の転送時間を計測し、その間のネットワーク転送遅延時間まで計測しない場合は実装されていなくても良い。また、エッジルータ間のネットワーク転送遅延時間まで計測したい場合にはIPメータは実装される。
【0040】
図12はIPメータの機能構成図である。パケット受信部123は、ネットワークを流れる全パケットを読み込む。フィルタリング部124で、計測ルール122を参照し、計測に必要なパケットを選択し、不要なパケットは廃棄し計測処理はおこなわない。フィルタリング部124では、読み込んだパケットのIPヘッダから、SA(Source Address),DA(Destination Address)を読み込むとともに、TCPデータ部にセットされているデータ種別をチェックし、計測対象パケットか否かを判断する。
【0041】
計測必要なパケットであれば、計測部125が計測データテーブル127に記録する。計測データテーブルは、DBサーバのものと同一構成である。このIPメータの記録処理では、送信元/送信先アドレスに、それぞれIPヘッダのSA、DAを、メータアドレスにIPメータのIPアドレスを、それから、計測時刻と、TCPデータ部にセットされているデータ種別、ならびに、コマンドIDをセットする。
【0042】
記録した計測データはデータ送信部126が性能測定サーバ7に転送する。また、IPメータはルール受信部121において、性能測定サーバ7から送信された計測ルールを受信し、計測ルール122の更新処理を行う。これらのIPメータ機能によって、性能測定サーバによって指定されたクライアントとDBサーバ間のSQL問合せと結果のパケットが計測される。なお、SQL問合せと結果については、データ長が長い場合、TCP/IPプロトコルにてパケット分割されることがある。この場合、先頭パケットを受信時に計測されることになり、若干の誤差が発生することになる。
【0043】
クラインアント、DBサーバ、IPメータの時計は高精度で一致している必要があるが、これについては、GPS(Global Positioning System)の利用や、NTP(Network Time Protocol)による時刻合わせにより解決する。
【0044】
上記、クライアント、DBサーバの計測機能、及び、エッジルータに搭載されたIPメータ機能によって、性能測定サーバ7から指定されたクライアントとDBサーバ間のSQL問合せに対して、どのようなタイミングで計測されるかを簡単に説明する。
【0045】
図13は、クライアント1aからの検索要求に対して、DBサーバ内でキャッシュ処理がおこなわれた場合のシーケンスである。クライアントの検索要求は、先ず、SQL問合せ送信時に計測される。そして、TCP/IPプロトコルにてTCP/IPパケットに変換され、IPネットワークを経由してDBサーバに渡る。その際、IPメータ機能を実装したエッジルータにおいて、SQL問合せのTCP/IPパケットを中継時、計測処理が行われる。
【0046】
DBサーバはSQL問合せを受信した時点、及び、結果送信時に計測処理をおこない、クライアントへの結果送信処理を行う。DBサーバからの検索結果も検索要求と同様にTCP/IPパケットに変換され、経由したエッジルータ上で計測処理が行われる。これによって、クライアントとDBサーバ間のネットワーク転送遅延時間と、DBサーバでの処理時間、及び、IPネットワーク上の各ルータの中継時間をそれぞれ計測することが可能となる。
【0047】
図14は、クライアントからの検索要求に対して、キャッシュ処理がおこなわれなかった場合のシーケンスである。クライアントとDBサーバ間の計測処理については、図13のケースと同一である。DBサーバでは、ストレージへのディスクI/O要求時と、ストレージからのディスクI/O結果受信時、計測処理を行うので、ディスクI/O時間の計測が可能となる。
【0048】
最後に性能測定サーバの動作について図15を用いて説明する。
先ず、性能測定ルールの設定方法について説明する。ルール作成部151は、オペレータから計測対象クライアントとDBサーバを指定してもらうことで、計測ルールを作成し、計測ルール152に登録する。計測ルール(図5)の内容は、前述の通りである。ルール送信部153は、計測ルールを受け取り、計測ノード管理テーブル154に登録されたIPメータ、及び、計測対象のDBサーバ、及び、クライアントに送信する。計測ノード管理テーブル154には、IPメータ、DBサーバ、クライアントが登録されている。図16に示すように、計測ノード管理テーブル154はIPアドレスをセットするフィールド161と、IPメータかDBサーバかクライアントかを識別するノードタイプをセットするフィールド162から構成される。
【0049】
次に、計測データを収集し、解析結果を表示するまでの動作について説明する。計測データの収集、及び、解析はオペレータからの指示によって行われる。
【0050】
計測データ取得部155は、計測対象となっているDBサーバ、クライアントと、計測ノード管理テーブル154に登録されたIPメータに対して、計測データ取得要求を送信し、その応答としての計測データを受信し記憶する。結果出力部157では、計測データ取得後、DBサーバ、クライアント、IPメータのそれぞれの計測データから、順次、コマンドIDの一致するエントリーをサーチし、セットされた時刻情報から各処理にかかった時間を算出する。そして、例えば、図17に示すような結果や、図18のようなグラフを出力する。
【0051】
図17では、SQL問合せ毎に、クライアントからDBサーバに問合せが届くまでの時間、DBサーバにおける処理時間、ディスクI/O時間、DBサーバからクライアントに結果が届くまでの時間とトータルの処理時間(フィールド173〜177)を表示している。これによって、SQL毎にボトルネックの解析がおこなえるようになる。また、ネットワーク上の転送遅延時間と、DBサーバ上の処理時間を区別して把握できるようになる。この結果をルータの設定を変えて空きのあるルータが使えるようにする、DBサーバの能力のアップ、キャッシュの容量アップなどの対策に利用する。
【0052】
図18は、図17の表をグラフ化したものである。これによって視覚的にSQL問合せの各処理時間を把握することができる。図のように、DBサーバ処理時間や、I/O時間などにSQL文によって大きな違いが生じていることが分かる。
【0053】
(第2実施例)
第2の実施例では、IPネットワーク上に設置されたIPメータと、ストレージネットワーク上に設置されたFCメータによって計測処理を行う。
【0054】
先ず、クライアントの動作について説明する。クライアントでは計測処理はおこなわず、計測に関する処理が不要になる。第1の実施例(図3)で説明した計測ルール37や、計測ルールを更新するルール受信部36、計測データを記録する計測データテーブル38、計測データを送信するデータ送信部39が不要となる。また、TCP/IP送信部33や、TCP/IP受信部34における計測データの記録処理も不要となる。アプリケーションから受け付けたSQL問合せを、DBサーバに送信し、DBサーバから受信した結果をアプリケーションに渡す処理については、第一の実施例と同一である。
【0055】
次にDBサーバの動作について説明する。DBサーバについても計測処理はおこなわず、計測に関する処理が不要になる。クライアントと同様に、ルール受信部、計測ルール、計測データテーブル、データ送信部が不要となる。また、各計測記録処理も不要となる。
【0056】
図19に第2の実施例におけるRDBMSの機能構成を示す。
基本的には、第1の実施例における計測の記録処理が不要になったことと、ストレージとのアクセス処理を行うディスクI/O要求部194の処理内容が変わっただけである。以下、違いの部分について説明する。ディスクI/O要求部では、ディスクI/O要求時、FCドライバ経由でFCパケットにして対象のストレージに送信する。このとき、FCパケットのデータフィールドに問合せ受信時にセットされたコマンドIDを付加する。尚、FCパケットの送信が複数回になる場合には、それぞれのFCパケットのデータフィールドにコマンドIDを付加する。
【0057】
ディスクI/O結果受信部195において、ストレージからI/O要求結果受信後の処理については、第1の実施例と同一である。
【0058】
図20を用いてストレージの動作について説明する。機能構成としては、FCドライバ部201と、ディスクI/O処理部202からなる。ディスクI/O処理部では、FCドライバ経由でFCパケットを受信するとデータフィールドからコマンドIDを取得するとともに、I/Oを行う物理的なブロック場所の情報を読み出し、ヘッドを動作させデータの読み書きを実行する。そして、ディスクI/O結果をFCドライバ経由でFCパケットにして、対象DBサーバに送信する。このとき、FCパケットのデータフィールドには、ディスクI/O要求時にセットされたコマンドIDを付加する。
【0059】
次に計測処理を行うIPメータとFCメータの処理について説明する。FCメータとはストレージを接続するネットワークに接続され計測を行うストレージメータの一つであり、ファイバチャネルでストレージが接続されている場合のストレージメータをいう。
IPメータの処理については、第1の実施例と同一であり省略する。FCメータの機能構成は、計測対象がIPパケットからFCパケットに変わっただけであり、IPメータの機能構成(図12)と同一である。本実施例では、FCメータは、FCスイッチ8内に搭載され、ミラーリング機能等を用いてFCパケットをキャプチャする。また、FCメータは計測ルールの更新、ならびに、計測データの送信処理を行うため、IPプロトコルで接続されているものとする。
【0060】
パケット受信部123に相当する処理部は、FCスイッチ上を流れる全FCパケットを読み込む、フィルタリング部124に相当する処理部で、計測ルール122に相当するルールを参照し、計測に必要なFCパケットを選択し、不要なFCパケットは廃棄し計測処理はおこなわない。
【0061】
計測ルールについては、図21に示すようにストレージとDBサーバのFCのアドレスとする。フィルタリング部ではFCヘッダ、SA(Source Address),DA(Destination Address)を読み込み、計測対象パケットか否かを判断する。
【0062】
計測必要なFCパケットであれば、計測部125に相当する処理部が計測データテーブル127に相当する処理部に記録する。計測データテーブルは、第1の実施例と同一構成とする。
【0063】
このFCメータの記録処理では、送信元/送信先アドレスに、FCヘッダのSA、DAをセットし、計測時刻と、FCデータフィールドにセットされたコマンドIDをセットする。
【0064】
記録した計測データはデータ送信部126が性能測定サーバ7に転送する。また、ルール受信部121に相当する処理部において、性能測定サーバから送信された計測ルールに相当するルールを受信し、計測ルール122に相当するルールの更新処理を行う。
【0065】
性能測定サーバは、IPメータに対しては、計測対象のクライアントとDBサーバのIPアドレスを計測ルールとして送信し、FCメータに対しては、計測対象のストレージとDBサーバのFCアドレスを計測ルールとして送信する。
【0066】
IPメータとFCメータでは、計測ルールを受信し、対象のIPパケットとFCパケットをキャプチャし、計測データテーブルにそれぞれ蓄積する。
【0067】
FCパケットについては、発生に至ったSQL問合せのコマンドIDがセットされている。この為、IPメータとFCメータの計測データから、一致するコマンドIDを持つエントリーをサーチすることで、図22に示すようなストレージ処理時間、ストレージI/O回数、ネットワーク転送遅延時間等のデータを解析することができる。
【0068】
以上の実施例によって、より極めの細かい解析が可能となり、ストレージ性能のボトルネックの解析やDBチューニング等が効率的におこなえるようになる。
【0069】
また、障害時の切り分けについても、DBサーバ/ストレージによる問題か、ネットワークによる問題かの特定もより明確におこなえるようになる。
【0070】
【発明の効果】
異種のネットワークに亘るシステムの性能測定を連携して行うことが出来る。
【図面の簡単な説明】
【図1】本発明の第一の実施例におけるシステム全体構成図である。
【図2】本発明の第一の実施例におけるクライアントコンピュータのソフト構成図である。
【図3】本発明の第一の実施例におけるDB接続ソフトの機能構成図である。
【図4】本発明の第一の実施例における問合せ管理テーブルを示す図である。
【図5】本発明の第一の実施例における計測ルールを示す図である。
【図6】本発明の第一の実施例における計測データテーブルを示す図である。
【図7】本発明の第一の実施例におけるコマンドIDフォーマットを示す図である。
【図8】本発明の第一の実施例におけるデータフォーマットを示す図である。
【図9】本発明の第一の実施例におけるDBサーバのソフト構成図である。
【図10】本発明の第一の実施例におけるRDBMSの機能構成図である。
【図11】本発明の第一の実施例における応答管理テーブルを示す図である。
【図12】本発明の第一の実施例におけるIPメータの機能構成図である。
【図13】第一の実施例におけるキャッシュ処理がおこなわれた場合のフローである。
【図14】第一の実施例におけるキャッシュ処理がおこなわれない場合のフローである。
【図15】第一の実施例における性能測定サーバの機能構成図である。
【図16】第一の実施例における計測ノード管理テーブルを示す図である。
【図17】第一の実施例における測定結果例を示す図である。
【図18】第一の実施例における測定結果グラフ例を示す図である。
【図19】第二の実施例におけるRDBMSの機能構成を示す図である。
【図20】第二の実施例におけるストレージのソフト構成を示す図である。
【図21】第二の実施例における計測ルールを示す図である。
【図22】第二の実施例における計測処理フローである。
【符号の説明】
1a,1b…クライアント 2a,2b…DBサーバ 3a,3b…ストレージ 7…性能測定サーバ
22…DB接続ソフト 91…RDBMS
【発明の属する技術分野】
IPネットワークを経由してストレージへのアクセスを行うデータベースシステムの性能測定方法に関する。
【0002】
【従来の技術】
DBサーバの管理ツールとしては、日経オープンシステム1997年9月(No.54)[RDBの性能向上支援ツール]PP.283〜294に記載のように、既に多くの製品が出荷されている。
【0003】
管理ツールはその目的によって、DBチューニングツール、DB監視ツール、負荷テストツールの3つに分けられる。
【0004】
DBチューニングツールは、システムのボトルネックを判断し、改善すべき点を指摘するものである。DBサーバにおいて、SQL文毎にCPU時間を測定し、性能に与える影響が大きいSQL文を見つけたり、実行したSQL文毎にCPU時間やI/O待ちのグラフを表示したりすることができるようになっている。
【0005】
DB監視ツールは、DBサーバの状況を把握するものである。DBサーバにおいて、CPU負荷やディスクの空き容量、トランザクション数等のトラブルに影響するパラメータを監視し、トラブルの予防に使う。
【0006】
負荷テストツールは、実機クライアントや仮想ユーザを用いてDBサーバに負荷をかけ、その応答時間を計測する。収集した応答時間の情報を分析することで、サーバの負荷性能を定量的に測るというものである。
【0007】
【発明が解決しようとする課題】
従来は、DBサーバ側、あるいは、クライアント側のどちらかにおいて、ストレージ処理(例えば、SQL文)の性能を測定していた。その為、ネットワーク上の転送遅延時間が把握できず、ボトルネックの分析や、障害箇所の切り分けが困難であった。
【0008】
本発明が解決しようとする課題は、より極めの細かいストレージ処理の解析を可能とすることである。
【0009】
【課題を解決するための手段】
DBサーバに問合せ送信時、問合せ識別子を付加し、問合せ送信時と、DBサーバからの結果受信時に問合せ識別子とともに時刻情報を蓄積するクライアントと、クライアントに結果送信時、問合せ受信時に受け取った問合せ識別子を付加し、問合せ受信時と、ストレージへのI/O要求時と、ストレージからのI/O結果受信時と、クライアントへの結果送信時に、問合せ識別子とともに時刻情報を蓄積するDBサーバと、上記、クライアント、DBサーバから蓄積したデータを収集し、問合せ識別子をキーに、問合せにかかった通信遅延、DBサーバ処理時間、ストレージ処理時間をそれぞれ計測する性能測定サーバを設けた。
【0010】
【発明の実施の形態】
以下に本発明の実施例について図を参照しながら説明する。
(第1実施例)
図1にシステムの全体構成を示す。複数のクライアントコンピュータ1a,1b、複数のDBサーバ2a,2b、データを保存する複数のストレージ3a,3b、クライアントとDBサーバ間を接続するIPネットワーク4、DBサーバとストレージ間に介在するストレージエリアネットワーク(SAN)5からなる。IPネットワークではルータ6a,6b,6c,6dが相互に接続されており、SANではファイバチャネルスイッチ8によってDBサーバとストレージが相互に接続される。性能測定サーバ7は、IPネットワークに接続され、計測機能が搭載されたDBサーバやルータ、クライアントから計測情報を収集し、ストレージネットワークシステム(クライアントサーバからストレージまでのシステム全体を指す)の評価、解析を行う。尚、本実施例では、データベースマネージメントシステム(DBMS)として、リレーショナルデータベースマネージメントシステム(RDBMS)を用いることとし、RDBMSの共通言語であるSQLを用いる。また、ストレージネットワーク(ストレージとDBサーバを相互に接続するもの)はSANとしているが、ネットワークアタッチドストレージ(NAS)や、DBサーバとストレージがSCSI接続される形態でもよい。
【0011】
始めに、クライアントコンピュータ1aの動作から説明する。
図2にクライアントコンピュータのソフト構成を示す。アプリケーション21a,21bは、DB接続ソフト22が提供するインタフェースに沿ってDBサーバを指定しSQL文を投げ、結果を受け取ることで、DBサーバ2aへのアクセスを行う。DB接続ソフトは、TCP/IPプロトコル23を使って、DBサーバとのセッション確立をおこない、アプリケーションが投げたSQL文をサーバに届け、サーバからの結果を受け取り、アプリケーションに渡す。TCP/IPプロトコル23は、SQL文を実際にネットワークに流せる形のパケットにしてネットワーク上に流し、相手に送り届け、自分宛てのパケットをネットワーク上から受け取る役割を受け持つ。
【0012】
DB接続ソフト22の動作について、図3を用いてより詳しく説明する。
図3の動作の説明に先立って、先ず、使用するテーブルの内容について説明する。
【0013】
図4に問合せ管理テーブル32の構成を示す。このテーブルは、DBサーバからSQL問合せに対する結果を受信したときに、その結果をどのアプリケーションに渡すかを特定するものであり、結果通知部35によって参照される。問合せがあったアプリケーションの識別コードをセットするフィールド41と、後述するコマンドIDをセットするフィールド42から構成される。
【0014】
図5に計測ルールの構成を示す。計測ルール37は、性能測定サーバ7からの要求によって、ルール受信部36がセットするものである。即ち、性能測定サーバ7が計測対象となるクライアントやDBサーバを指定する。計測対象となるクライアント、および、DBサーバのIPアドレスを設定するフィールド51,52からなる。値が“*”の場合は、全てのクライアント、あるいは、全てのDBサーバを意味する。
【0015】
図6に計測データテーブル38の構成を示す。このテーブルは計測したデータを格納するものであり、後述するDBサーバ、IPメータにおいても同一のテーブルを使用する。送信元と送信先アドレスをセットするフィールド61,62、IPメータアドレスをセットするフィールド63、計測時刻をセットするフィールド64と、データ種別、コマンドID、データをセットするフィールド65〜67から構成される。データ種別は、クライアントからの“問合せ”、DBサーバからの“結果”、DBサーバからの“I/O要求”、ストレージからの“I/O結果”の4つの識別コードからなる。尚、IPメータアドレスフィールド63は、IPメータでのみ使用し、データフィールド67については、重複して取得する必要がないので、DBサーバ、IPメータ、クラインアントのいずれか一箇所で取得すればよく、DBサーバでのみ使用する。
【0016】
以上が、使用するテーブルの説明であり、次に動作について説明する。
アプリケーション21aからのSQL文は、SQL受付部31に渡される。SQL受付部では、SQL問合せを識別するためのコマンドIDを生成し、アプリケーション識別コードと共に、問合せ管理テーブル32にセットする。
【0017】
コマンドIDのフォーマットを図7に示す。クライアントのIPアドレスをセットするフィールド71と、DB接続ソフトにてローカルに管理する一貫番号をセットするフィールド72からなる。IPアドレスは、グローバルアドレスでありシステムで一意に付与されるものである。アプリケーションから渡されたSQL文は、このコマンドIDによって一意に特定される。
【0018】
TCP/IP送信部33では、渡されたコマンドIDとSQL文から図8のフォーマットのデータを作成し、TCP/IPプロトコル23に送信を依頼する。また、計測ルール37を参照し、計測条件にマッチしていれば、計測データテーブル38への記録処理を行う。
【0019】
図8は、例えばクライアント1aとDBサーバ2a間で渡されるデータのフォーマットである。フィールド81には、クライアントからのSQL問合せか、DBサーバからの結果かを特定する為のデータ種別をセットする。フィールド82にはコマンドIDを、フィールド83にはSQL文、もしくは、結果をセットする。
【0020】
計測データテーブル38への記録処理は、送信元にクライアントIPアドレスを、送信先にDBサーバIPアドレスをセットし、計測時刻と、データ種別(問合せ)、コマンドIDをそれぞれセットする。
【0021】
TCP/IPプロトコル23では、TCP送信部33から渡されたデータをTCP/IPパケットにしてネットワーク上に流し、DBサーバ2aへ送り届ける。また、DBサーバからの結果を受信し、TCP/IP受信部34に渡す。
【0022】
TCP/IP受信部34では、受け取ったデータを結果通知部35に渡すとともに、計測ルール37を参照し、計測条件にマッチしていれば、計測データテーブル38への記録処理を行う。ここでの記憶処理は、送信元にDBサーバアドレスを、送信先にクライアントIPアドレスをセットし、計測時刻と、データ種別(結果)、コマンドIDをそれぞれセットする。
【0023】
結果通知部35では、TCP/IP受信部34から受け取ったデータのコマンドIDから問合せ管理テーブル32をサーチすることで、問合せをおこなったアプリケーションを特定し、結果を渡す。記録した計測データはデータ送信部39が性能測定サーバ7に転送する。また、ルール受信部36において、性能測定サーバから送信された計測ルールを受信し、計測ルール37の更新処理が行われる。
【0024】
以上がクライアントの動作であり、これによって、性能測定サーバ7によって指定されたクライアントとDBサーバ間のSQL問合せに対し、SQL問合せ送信時刻、DBサーバからの結果受信時刻が、計測データテーブル38に記録される。
【0025】
次にDBサーバ2aのソフト構成と機能構成について説明する。
DBサーバのソフト構成を図9に示す。RDBMS(リレーショナルデータベースマネージメントシステム)91はリレーショナルDBを管理する為のソフトである。ディスク上へのデータ格納や、ディスク上からのデータ検索を行う。TCP/IPプロトコル92は、前述の通りIPネットワーク4と情報を送受信するものである。FCドライバ93は、ファイバーチャネルを使って例えばストレージ3aへのディスクI/O処理を行う。
【0026】
図10を用いてRDBMS 91の動作についてより詳しく説明する。RDBMSは実際には、アクセス権限の確保、障害によるデータの復旧、データの一貫性の保障、複数ユーザからの同時アクセス(排他制御)の制御等、機能は多岐に渡るが、本実施例ではストレージの性能測定に関する部分のみ説明する。初めに使用するテーブルの内容について説明する。
【0027】
図11に応答管理テーブル110の構成を示す。このテーブルはクライアント側で動作する問合せ管理テーブルに対応するものであり、問合せ元のクライアントのIPアドレスと、コマンドIDをセットするフィールド1101,1102から構成される。これによって結果を送信する際に、送信先のクライアントを特定する。
【0028】
計測ルール111、及び、計測データテーブル112については、クライアントにおける計測ルール37、及び、計測データテーブル38と同一である。次に動作について説明する。
【0029】
TCP/IP受信部101では、クライアントからのSQL問合せを受信し、SQL受付部102にデータを渡す。その際、応答管理テーブル110への登録、および、計測ルール111を参照し、計測条件にマッチしていれば、計測データテーブル112への記録を行う。ここでの記録処理は、送信元アドレスにクライアントIPアドレスを、送信先アドレスにDBサーバのIPアドレスをセットし、計測時刻、データ種別(SQL問合せ)、コマンドIDと、データ(SQL文)をそれぞれセットする。
【0030】
SQL受付部102では、SQL文法をチェックし、RDBMSが理解できる内部形式に変換し、データアクセス部103に渡す。RDBMSでは、ディスクI/Oの回数を減らし、高速に処理がおこなえるようにキャッシュ113を持っている。データアクセス部103は、キャッシュ上で処理できる場合には、キャッシュからデータを取り出すか、もしくは、キャッシュ上へのデータの書き込みを行い、結果を結果通知部106に渡す。また、キャッシュ上で処理できない場合には、物理的なブロックの格納場所を指定し、ディスクI/OをディスクI/O要求部104に依頼する。
【0031】
ディスクI/O要求部104は、FCドライバ93経由で、SANのプロトコルであるファイバーチャネル(FC)プロトコルに変換し、ディスクI/O要求を対象のディスクに送信する。そして、計測ルールにマッチした問合せについては、計測データテーブル112への記録を行う。
【0032】
ディスクI/O結果受信部105では、FCドライバ93経由でストレージから結果を受信すると、結果通知部106に結果を渡すとともに、計測ルール111にマッチした問合せについては、計測データテーブル112への記録を行う。
【0033】
計測ルールにマッチするか否かは、TCP/IP受信部101がSQL受付時に判断し、ディスクI/O要求部104と、ディスクI/O結果受信部105には、コマンドIDとともに、パラメータとして渡ってくるものとする。ここでの記録処理では、送信元、あるいは、送信先がストレージ装置の場合には、対象ストレージの装置IDをセットする(例えば、図6第2欄および第3欄のsd−1)。データ種別には、ディスクI/O要求か、ディスクI/O結果かを識別するためのコードをセットする。さらに、時刻情報、コマンドIDをセットする。尚、ディスクI/Oについては、複数回発生することもあるが、その時には、ディスクI/O毎に計測する。
【0034】
結果通知部106では、キャッシュ113から取得したデータ、もしくは、ディスクI/Oによって取得したデータを用いて、図8に示すフォーマットにてクライアントに返す結果を作成する。そして、TCP/IP送信部107に渡す。
【0035】
TCP/IP送信部107では、応答管理テーブル110を参照し、通知先のクライアントアドレスを取得するとともに、計測ルール111を参照し、計測条件にマッチしていれば、計測データテーブル112への記録処理を行う。そして、TCP/IPプロトコル92への送信依頼を行う。
【0036】
ここでの記録処理においては、送信元にDBサーバIPアドレスを、送信先にクライアントIPアドレスをセットし、計測時刻と、データ種別(結果)、コマンドID、データ(結果)をそれぞれセットする。
【0037】
記録した計測データについてはデータ送信部109が性能測定サーバ7に転送する。また、ルール受信部108において、性能測定サーバから送信された計測ルールを受信し、計測ルール111の更新処理が行われる。これは管理者が決めるもので、例えば、ユーザからの問い合わせに基づいたり、障害の発生予測に基づいたりして決められる。
【0038】
以上のRDBMSの処理によって、性能測定サーバによって指定されたクライアントとDBサーバ間のSQL問合せに対し、DBサーバでのSQL問合せ受信時刻、ディスクI/O開始、終了時刻、クライアントへの結果送信時刻、及び、データ(SQL文/結果)が計測データテーブル112に記録される。
【0039】
次に、IPネットワーク4上で、クライアント、DBサーバ間でやりとりされるデータを計測するIPメータについて説明する。IPメータ機能は情報処理端末、または、ルータ内にプログラムとして実装される。本実施例では、IPネットワークのエッジルータに実装されているものとする。なお、IPメータは必ずしも実装されてなくとも良い。例えば、クライアントとDBサーバ間の転送時間を計測し、その間のネットワーク転送遅延時間まで計測しない場合は実装されていなくても良い。また、エッジルータ間のネットワーク転送遅延時間まで計測したい場合にはIPメータは実装される。
【0040】
図12はIPメータの機能構成図である。パケット受信部123は、ネットワークを流れる全パケットを読み込む。フィルタリング部124で、計測ルール122を参照し、計測に必要なパケットを選択し、不要なパケットは廃棄し計測処理はおこなわない。フィルタリング部124では、読み込んだパケットのIPヘッダから、SA(Source Address),DA(Destination Address)を読み込むとともに、TCPデータ部にセットされているデータ種別をチェックし、計測対象パケットか否かを判断する。
【0041】
計測必要なパケットであれば、計測部125が計測データテーブル127に記録する。計測データテーブルは、DBサーバのものと同一構成である。このIPメータの記録処理では、送信元/送信先アドレスに、それぞれIPヘッダのSA、DAを、メータアドレスにIPメータのIPアドレスを、それから、計測時刻と、TCPデータ部にセットされているデータ種別、ならびに、コマンドIDをセットする。
【0042】
記録した計測データはデータ送信部126が性能測定サーバ7に転送する。また、IPメータはルール受信部121において、性能測定サーバ7から送信された計測ルールを受信し、計測ルール122の更新処理を行う。これらのIPメータ機能によって、性能測定サーバによって指定されたクライアントとDBサーバ間のSQL問合せと結果のパケットが計測される。なお、SQL問合せと結果については、データ長が長い場合、TCP/IPプロトコルにてパケット分割されることがある。この場合、先頭パケットを受信時に計測されることになり、若干の誤差が発生することになる。
【0043】
クラインアント、DBサーバ、IPメータの時計は高精度で一致している必要があるが、これについては、GPS(Global Positioning System)の利用や、NTP(Network Time Protocol)による時刻合わせにより解決する。
【0044】
上記、クライアント、DBサーバの計測機能、及び、エッジルータに搭載されたIPメータ機能によって、性能測定サーバ7から指定されたクライアントとDBサーバ間のSQL問合せに対して、どのようなタイミングで計測されるかを簡単に説明する。
【0045】
図13は、クライアント1aからの検索要求に対して、DBサーバ内でキャッシュ処理がおこなわれた場合のシーケンスである。クライアントの検索要求は、先ず、SQL問合せ送信時に計測される。そして、TCP/IPプロトコルにてTCP/IPパケットに変換され、IPネットワークを経由してDBサーバに渡る。その際、IPメータ機能を実装したエッジルータにおいて、SQL問合せのTCP/IPパケットを中継時、計測処理が行われる。
【0046】
DBサーバはSQL問合せを受信した時点、及び、結果送信時に計測処理をおこない、クライアントへの結果送信処理を行う。DBサーバからの検索結果も検索要求と同様にTCP/IPパケットに変換され、経由したエッジルータ上で計測処理が行われる。これによって、クライアントとDBサーバ間のネットワーク転送遅延時間と、DBサーバでの処理時間、及び、IPネットワーク上の各ルータの中継時間をそれぞれ計測することが可能となる。
【0047】
図14は、クライアントからの検索要求に対して、キャッシュ処理がおこなわれなかった場合のシーケンスである。クライアントとDBサーバ間の計測処理については、図13のケースと同一である。DBサーバでは、ストレージへのディスクI/O要求時と、ストレージからのディスクI/O結果受信時、計測処理を行うので、ディスクI/O時間の計測が可能となる。
【0048】
最後に性能測定サーバの動作について図15を用いて説明する。
先ず、性能測定ルールの設定方法について説明する。ルール作成部151は、オペレータから計測対象クライアントとDBサーバを指定してもらうことで、計測ルールを作成し、計測ルール152に登録する。計測ルール(図5)の内容は、前述の通りである。ルール送信部153は、計測ルールを受け取り、計測ノード管理テーブル154に登録されたIPメータ、及び、計測対象のDBサーバ、及び、クライアントに送信する。計測ノード管理テーブル154には、IPメータ、DBサーバ、クライアントが登録されている。図16に示すように、計測ノード管理テーブル154はIPアドレスをセットするフィールド161と、IPメータかDBサーバかクライアントかを識別するノードタイプをセットするフィールド162から構成される。
【0049】
次に、計測データを収集し、解析結果を表示するまでの動作について説明する。計測データの収集、及び、解析はオペレータからの指示によって行われる。
【0050】
計測データ取得部155は、計測対象となっているDBサーバ、クライアントと、計測ノード管理テーブル154に登録されたIPメータに対して、計測データ取得要求を送信し、その応答としての計測データを受信し記憶する。結果出力部157では、計測データ取得後、DBサーバ、クライアント、IPメータのそれぞれの計測データから、順次、コマンドIDの一致するエントリーをサーチし、セットされた時刻情報から各処理にかかった時間を算出する。そして、例えば、図17に示すような結果や、図18のようなグラフを出力する。
【0051】
図17では、SQL問合せ毎に、クライアントからDBサーバに問合せが届くまでの時間、DBサーバにおける処理時間、ディスクI/O時間、DBサーバからクライアントに結果が届くまでの時間とトータルの処理時間(フィールド173〜177)を表示している。これによって、SQL毎にボトルネックの解析がおこなえるようになる。また、ネットワーク上の転送遅延時間と、DBサーバ上の処理時間を区別して把握できるようになる。この結果をルータの設定を変えて空きのあるルータが使えるようにする、DBサーバの能力のアップ、キャッシュの容量アップなどの対策に利用する。
【0052】
図18は、図17の表をグラフ化したものである。これによって視覚的にSQL問合せの各処理時間を把握することができる。図のように、DBサーバ処理時間や、I/O時間などにSQL文によって大きな違いが生じていることが分かる。
【0053】
(第2実施例)
第2の実施例では、IPネットワーク上に設置されたIPメータと、ストレージネットワーク上に設置されたFCメータによって計測処理を行う。
【0054】
先ず、クライアントの動作について説明する。クライアントでは計測処理はおこなわず、計測に関する処理が不要になる。第1の実施例(図3)で説明した計測ルール37や、計測ルールを更新するルール受信部36、計測データを記録する計測データテーブル38、計測データを送信するデータ送信部39が不要となる。また、TCP/IP送信部33や、TCP/IP受信部34における計測データの記録処理も不要となる。アプリケーションから受け付けたSQL問合せを、DBサーバに送信し、DBサーバから受信した結果をアプリケーションに渡す処理については、第一の実施例と同一である。
【0055】
次にDBサーバの動作について説明する。DBサーバについても計測処理はおこなわず、計測に関する処理が不要になる。クライアントと同様に、ルール受信部、計測ルール、計測データテーブル、データ送信部が不要となる。また、各計測記録処理も不要となる。
【0056】
図19に第2の実施例におけるRDBMSの機能構成を示す。
基本的には、第1の実施例における計測の記録処理が不要になったことと、ストレージとのアクセス処理を行うディスクI/O要求部194の処理内容が変わっただけである。以下、違いの部分について説明する。ディスクI/O要求部では、ディスクI/O要求時、FCドライバ経由でFCパケットにして対象のストレージに送信する。このとき、FCパケットのデータフィールドに問合せ受信時にセットされたコマンドIDを付加する。尚、FCパケットの送信が複数回になる場合には、それぞれのFCパケットのデータフィールドにコマンドIDを付加する。
【0057】
ディスクI/O結果受信部195において、ストレージからI/O要求結果受信後の処理については、第1の実施例と同一である。
【0058】
図20を用いてストレージの動作について説明する。機能構成としては、FCドライバ部201と、ディスクI/O処理部202からなる。ディスクI/O処理部では、FCドライバ経由でFCパケットを受信するとデータフィールドからコマンドIDを取得するとともに、I/Oを行う物理的なブロック場所の情報を読み出し、ヘッドを動作させデータの読み書きを実行する。そして、ディスクI/O結果をFCドライバ経由でFCパケットにして、対象DBサーバに送信する。このとき、FCパケットのデータフィールドには、ディスクI/O要求時にセットされたコマンドIDを付加する。
【0059】
次に計測処理を行うIPメータとFCメータの処理について説明する。FCメータとはストレージを接続するネットワークに接続され計測を行うストレージメータの一つであり、ファイバチャネルでストレージが接続されている場合のストレージメータをいう。
IPメータの処理については、第1の実施例と同一であり省略する。FCメータの機能構成は、計測対象がIPパケットからFCパケットに変わっただけであり、IPメータの機能構成(図12)と同一である。本実施例では、FCメータは、FCスイッチ8内に搭載され、ミラーリング機能等を用いてFCパケットをキャプチャする。また、FCメータは計測ルールの更新、ならびに、計測データの送信処理を行うため、IPプロトコルで接続されているものとする。
【0060】
パケット受信部123に相当する処理部は、FCスイッチ上を流れる全FCパケットを読み込む、フィルタリング部124に相当する処理部で、計測ルール122に相当するルールを参照し、計測に必要なFCパケットを選択し、不要なFCパケットは廃棄し計測処理はおこなわない。
【0061】
計測ルールについては、図21に示すようにストレージとDBサーバのFCのアドレスとする。フィルタリング部ではFCヘッダ、SA(Source Address),DA(Destination Address)を読み込み、計測対象パケットか否かを判断する。
【0062】
計測必要なFCパケットであれば、計測部125に相当する処理部が計測データテーブル127に相当する処理部に記録する。計測データテーブルは、第1の実施例と同一構成とする。
【0063】
このFCメータの記録処理では、送信元/送信先アドレスに、FCヘッダのSA、DAをセットし、計測時刻と、FCデータフィールドにセットされたコマンドIDをセットする。
【0064】
記録した計測データはデータ送信部126が性能測定サーバ7に転送する。また、ルール受信部121に相当する処理部において、性能測定サーバから送信された計測ルールに相当するルールを受信し、計測ルール122に相当するルールの更新処理を行う。
【0065】
性能測定サーバは、IPメータに対しては、計測対象のクライアントとDBサーバのIPアドレスを計測ルールとして送信し、FCメータに対しては、計測対象のストレージとDBサーバのFCアドレスを計測ルールとして送信する。
【0066】
IPメータとFCメータでは、計測ルールを受信し、対象のIPパケットとFCパケットをキャプチャし、計測データテーブルにそれぞれ蓄積する。
【0067】
FCパケットについては、発生に至ったSQL問合せのコマンドIDがセットされている。この為、IPメータとFCメータの計測データから、一致するコマンドIDを持つエントリーをサーチすることで、図22に示すようなストレージ処理時間、ストレージI/O回数、ネットワーク転送遅延時間等のデータを解析することができる。
【0068】
以上の実施例によって、より極めの細かい解析が可能となり、ストレージ性能のボトルネックの解析やDBチューニング等が効率的におこなえるようになる。
【0069】
また、障害時の切り分けについても、DBサーバ/ストレージによる問題か、ネットワークによる問題かの特定もより明確におこなえるようになる。
【0070】
【発明の効果】
異種のネットワークに亘るシステムの性能測定を連携して行うことが出来る。
【図面の簡単な説明】
【図1】本発明の第一の実施例におけるシステム全体構成図である。
【図2】本発明の第一の実施例におけるクライアントコンピュータのソフト構成図である。
【図3】本発明の第一の実施例におけるDB接続ソフトの機能構成図である。
【図4】本発明の第一の実施例における問合せ管理テーブルを示す図である。
【図5】本発明の第一の実施例における計測ルールを示す図である。
【図6】本発明の第一の実施例における計測データテーブルを示す図である。
【図7】本発明の第一の実施例におけるコマンドIDフォーマットを示す図である。
【図8】本発明の第一の実施例におけるデータフォーマットを示す図である。
【図9】本発明の第一の実施例におけるDBサーバのソフト構成図である。
【図10】本発明の第一の実施例におけるRDBMSの機能構成図である。
【図11】本発明の第一の実施例における応答管理テーブルを示す図である。
【図12】本発明の第一の実施例におけるIPメータの機能構成図である。
【図13】第一の実施例におけるキャッシュ処理がおこなわれた場合のフローである。
【図14】第一の実施例におけるキャッシュ処理がおこなわれない場合のフローである。
【図15】第一の実施例における性能測定サーバの機能構成図である。
【図16】第一の実施例における計測ノード管理テーブルを示す図である。
【図17】第一の実施例における測定結果例を示す図である。
【図18】第一の実施例における測定結果グラフ例を示す図である。
【図19】第二の実施例におけるRDBMSの機能構成を示す図である。
【図20】第二の実施例におけるストレージのソフト構成を示す図である。
【図21】第二の実施例における計測ルールを示す図である。
【図22】第二の実施例における計測処理フローである。
【符号の説明】
1a,1b…クライアント 2a,2b…DBサーバ 3a,3b…ストレージ 7…性能測定サーバ
22…DB接続ソフト 91…RDBMS
Claims (10)
- IPネットワークおよびDBサーバを経由してストレージへのアクセスを行うデータベースシステムにおいて、
前記IPネットワークに接続され、前記DBサーバに問合せ送信時、問合せ識別子を付加する手段と、問合せ送信時と、前記DBサーバからの結果受信時に問合せ識別子とともに時刻情報を蓄積する手段を有するクライアントと、
前記クライアントに前記ストレージへのアクセス結果送信時、問合せ受信時に受け取った問合せ識別子を付加する手段と、問合せ受信時と、前記ストレージへのI/O要求時と、前記ストレージからのI/O結果受信時と、前記クライアントへの結果送信時に、問合せ識別子とともに時刻情報を蓄積する手段とを有するDBサーバ及び、
前記クライアント、前記DBサーバから蓄積したデータを収集し、問合せ識別子をキーに、問合せにかかった通信遅延、DBサーバ処理時間、ストレージ処理時間をそれぞれ計測する手段を有する性能測定サーバとを備えたことを特徴とするストレージネットワーク性能測定システム。 - 更に、前記IPネットワーク上の転送パケットから、前記問合せ、及び、結果のパケットをキャプチャし、問合せ識別子とともに時刻情報を蓄積する手段を有するIPメータを備えたことを特徴とする請求項1記載のストレージネットワーク性能測定システム。
- 前記IPメータは前記IPネットワークのエッジルータに設けられたことを特徴とする請求項2記載のストレージネットワーク性能測定システム。
- 前記性能測定サーバは問合せにかかった通信遅延、DBサーバ処理時間、ストレージ処理時間を出力する手段を有することを特徴とする請求項1記載のストレージネットワーク性能測定システム。
- 前記性能測定サーバは前記クライアントおよび前記DBサーバに計測の対象となるクライアントおよびDBサーバのIPアドレスを格納せしめることを特徴とする請求項1記載のストレージネットワーク性能測定システム。
- 前記ストレージはIPネットワークとは異種のストレージネットワークに接続されており、前記DBサーバはIPネットワークと前記ストレージネットワークに接続されており、前記DBサーバは前記クライアントとの問合せの受信および前記ストレージへのアクセス結果の送信は前記IPネットワークのプロトコルで行い、前記ストレージへのI/O要求および前記ストレージからのI/O結果受信は前記ストレージネットワークのプロトコルで行うことを特徴とする請求項1記載のストレージネットワーク性能測定システム。
- IPネットワークとDBサーバを経由してストレージネットワークに接続されたストレージへのアクセスを行うデータベースシステムにおいて、
前記DBサーバに問合せ送信時、問合せ識別子を付加する手段を有するクライアントと、
前記ストレージネットワークに接続され、前記クライアントに結果送信時、問合せ受信時に受け取った問合せ識別子を付加する手段と、ストレージにI/O要求を送信時、対応する問合せ識別子を付加する手段とを有するDBサーバと、
前記DBサーバへのI/O結果送信時、I/O要求時に受け取った問合せ識別子を付加する手段を有するストレージと、
前記IPネットワーク上の転送パケットから、前記問合せ、及び、結果のパケットをキャプチャし、問合せ識別子とともに時刻情報を蓄積する手段を有するIPメータと、
前記ストレージネットワーク上の転送パケットから、I/O要求、及び、I/O結果のパケットをキャプチャし、問合せ識別子とともに時刻情報を蓄積する手段を有するストレージメータ及び、
前記IPメータとストレージメータから蓄積したデータを収集し、問合せ識別子をキーに、問合せによって発生したパケットの転送遅延を計測する手段を有する性能測定サーバを備えたことを特徴とするストレージネットワーク性能測定システム。 - 前記性能測定サーバは前記IPメータに蓄積された情報からIPネットワーク転送遅延時間を求めることを特徴とする請求項7記載のストレージネットワーク性能測定システム。
- 前記ストレージネットワークはSANであり、前記ストレージメータは前記SANのファイバチャネルスイッチに設けられていることを特徴とする請求項7記載のストレージネットワーク性能測定システム。
- 異種ネットワークが混在するシステムにおいて、
各ネットワークに設置され、各ネットワーク内を転送されるパケットをキャプチャし、時刻情報とともに蓄積する蓄積手段と、
複数の異種ネットワークに接続され、異種ネットワーク間を転送されるパケットをプロトコル変換し対応付けする手段を有する異種ネットワーク間を接続するプロトコル変換ノード、及び、
前記異種ネットワークの一つに接続され、前記蓄積手段に蓄積された情報から異種ネットワークをまたがるデータの転送遅延を測定する手段とを備えたことを特徴とする転送性能測定システム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002158583A JP2004005085A (ja) | 2002-05-31 | 2002-05-31 | ストレージネットワーク性能測定システム |
US10/270,552 US20030225830A1 (en) | 2002-05-31 | 2002-10-16 | Performance measuring system for storage network |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002158583A JP2004005085A (ja) | 2002-05-31 | 2002-05-31 | ストレージネットワーク性能測定システム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004005085A true JP2004005085A (ja) | 2004-01-08 |
Family
ID=29561547
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002158583A Pending JP2004005085A (ja) | 2002-05-31 | 2002-05-31 | ストレージネットワーク性能測定システム |
Country Status (2)
Country | Link |
---|---|
US (1) | US20030225830A1 (ja) |
JP (1) | JP2004005085A (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005293053A (ja) * | 2004-03-31 | 2005-10-20 | Nippon Steel Corp | テスト支援装置及びテスト支援方法 |
JP2005322157A (ja) * | 2004-05-11 | 2005-11-17 | Nippon Steel Corp | テスト支援装置、テスト支援システム及びテスト支援方法 |
JP2009223543A (ja) * | 2008-03-14 | 2009-10-01 | Kansai Electric Power Co Inc:The | ネットワークシステム、状態出力装置、状態出力プログラム、および状態出力方法 |
JP2014130387A (ja) * | 2012-12-27 | 2014-07-10 | Fujitsu Ltd | ストレージコントローラ選択システム、ストレージコントローラ選択方法、およびストレージコントローラ選択プログラム |
JP2014157505A (ja) * | 2013-02-15 | 2014-08-28 | Omron Corp | コントローラ、情報処理装置およびプログラム |
CN108153758A (zh) * | 2016-12-02 | 2018-06-12 | 阿里巴巴集团控股有限公司 | 一种数据累计方法、装置及电子设备 |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004302751A (ja) * | 2003-03-31 | 2004-10-28 | Hitachi Ltd | 計算機システムの性能管理方法、および、記憶装置の性能を管理する計算機システム |
US7212360B2 (en) * | 2003-11-28 | 2007-05-01 | Sony Corporation | Information processing equipment and data transfer method |
US7991783B2 (en) * | 2004-10-05 | 2011-08-02 | International Business Machines Corporation | Apparatus, system, and method for supporting storage functions using an embedded database management system |
JP4413806B2 (ja) * | 2005-03-25 | 2010-02-10 | 富士通株式会社 | 障害切り分け方法、障害切り分け機能を有する通信装置及びプログラム |
US7487407B2 (en) * | 2005-07-12 | 2009-02-03 | International Business Machines Corporation | Identification of root cause for a transaction response time problem in a distributed environment |
KR100551452B1 (ko) * | 2005-11-29 | 2006-02-14 | (주)그리드원 | 서버의 응용프로그램 성능을 시험하기 위한 그리드 컴퓨팅시스템 |
JP4837445B2 (ja) * | 2006-06-06 | 2011-12-14 | 株式会社日立製作所 | 記憶システム並びに管理装置及び方法 |
EP2051169A1 (en) * | 2007-10-19 | 2009-04-22 | Nokia Siemens Networks Oy | Tracing of individual directory access operations |
US7774560B2 (en) * | 2007-11-30 | 2010-08-10 | Aten International Co., Ltd. | Storage emulator and method thereof |
US8639769B2 (en) * | 2009-12-18 | 2014-01-28 | International Business Machines Corporation | Handling of data transfer in a LAN-free environment |
JP6171387B2 (ja) * | 2013-02-15 | 2017-08-02 | オムロン株式会社 | コントローラ、情報処理装置およびプログラム |
CN108763291B (zh) * | 2018-04-16 | 2021-04-30 | 北京奇艺世纪科技有限公司 | 一种数据管理方法、装置及电子设备 |
CN110022249B (zh) * | 2019-04-19 | 2020-11-17 | 浙江中烟工业有限责任公司 | 基于反向波测技术的复杂网络环境网络延时监测方法 |
US20230058684A1 (en) * | 2021-08-18 | 2023-02-23 | Rohde & Schwarz Gmbh & Co. Kg | System and method for testing a Bluetooth low energy implementation under test |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6493318B1 (en) * | 1998-05-04 | 2002-12-10 | Hewlett-Packard Company | Cost propagation switch protocols |
US6363477B1 (en) * | 1998-08-28 | 2002-03-26 | 3Com Corporation | Method for analyzing network application flows in an encrypted environment |
US6321264B1 (en) * | 1998-08-28 | 2001-11-20 | 3Com Corporation | Network-performance statistics using end-node computer systems |
US6269401B1 (en) * | 1998-08-28 | 2001-07-31 | 3Com Corporation | Integrated computer system and network performance monitoring |
US6683856B1 (en) * | 1998-10-09 | 2004-01-27 | Lucent Technologies Inc. | Method and apparatus for measuring network performance and stress analysis |
JP3828321B2 (ja) * | 1999-08-31 | 2006-10-04 | 富士通株式会社 | 負荷試験装置および負荷試験プログラムを記録したコンピュータ読み取り可能な記録媒体 |
US6985940B1 (en) * | 1999-11-12 | 2006-01-10 | International Business Machines Corporation | Performance testing of server systems |
US6772270B1 (en) * | 2000-02-10 | 2004-08-03 | Vicom Systems, Inc. | Multi-port fibre channel controller |
US6674717B1 (en) * | 2000-03-30 | 2004-01-06 | Network Physics, Inc. | Method for reducing packet loss and increasing internet flow by feedback control |
-
2002
- 2002-05-31 JP JP2002158583A patent/JP2004005085A/ja active Pending
- 2002-10-16 US US10/270,552 patent/US20030225830A1/en not_active Abandoned
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005293053A (ja) * | 2004-03-31 | 2005-10-20 | Nippon Steel Corp | テスト支援装置及びテスト支援方法 |
JP4500085B2 (ja) * | 2004-03-31 | 2010-07-14 | 新日本製鐵株式会社 | テスト支援装置及びテスト支援方法 |
JP2005322157A (ja) * | 2004-05-11 | 2005-11-17 | Nippon Steel Corp | テスト支援装置、テスト支援システム及びテスト支援方法 |
JP4494860B2 (ja) * | 2004-05-11 | 2010-06-30 | 新日本製鐵株式会社 | テスト支援システム及びテスト支援方法 |
JP2009223543A (ja) * | 2008-03-14 | 2009-10-01 | Kansai Electric Power Co Inc:The | ネットワークシステム、状態出力装置、状態出力プログラム、および状態出力方法 |
JP2014130387A (ja) * | 2012-12-27 | 2014-07-10 | Fujitsu Ltd | ストレージコントローラ選択システム、ストレージコントローラ選択方法、およびストレージコントローラ選択プログラム |
JP2014157505A (ja) * | 2013-02-15 | 2014-08-28 | Omron Corp | コントローラ、情報処理装置およびプログラム |
CN108153758A (zh) * | 2016-12-02 | 2018-06-12 | 阿里巴巴集团控股有限公司 | 一种数据累计方法、装置及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
US20030225830A1 (en) | 2003-12-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2004005085A (ja) | ストレージネットワーク性能測定システム | |
US9565076B2 (en) | Distributed network traffic data collection and storage | |
US8676960B2 (en) | Network event capture and retention system | |
JP6490059B2 (ja) | データを処理するための方法、有形機械可読記録可能記憶媒体および装置、ならびにデータ・レコードから抽出された特徴をクエリするための方法、有形機械可読記録可能記憶媒体および装置 | |
US7849227B2 (en) | Stream data processing method and computer systems | |
CN110417612B (zh) | 一种基于网元的网络流量监测系统及方法 | |
US20100088197A1 (en) | Systems and methods for generating remote system inventory capable of differential update reports | |
US20070100980A1 (en) | Computer system and method for managing log information | |
US20050066331A1 (en) | Dynamic resource management for distributed retrieval system for security | |
JPH10269252A (ja) | 分散情報の統合方法及び装置 | |
CN101933313A (zh) | 将针对网络设备的网络流中的网络地址解析为主机名称的方法 | |
CN103152352A (zh) | 一种基于云计算环境的全信息安全取证监听方法和系统 | |
KR20030048045A (ko) | 데이터 네트워크의 정보 검색 및 분석 방법 | |
CN107181639A (zh) | 一种通信状态的监控方法及装置 | |
CN106326280B (zh) | 数据处理方法、装置及系统 | |
US5682523A (en) | System and method for collecting and retrieving network problem determination data with a generic collection subsystem reporting to an agent on demand | |
US11973738B2 (en) | Domain name system analysis on edge network devices | |
JP4443786B2 (ja) | 管理パス切り替え方法及び管理パス切り替えが可能な高可用性ストレージシステム | |
JP2001134544A (ja) | 共通ログ生成方法及び共通ログ分析方法 | |
JP5353682B2 (ja) | 構成情報管理装置、分散情報管理システム、分散情報管理方法および分散情報管理プログラム | |
KR101345095B1 (ko) | 클러스터 환경 기반의 bgp 라우팅 정보 분석 방법 및 시스템 | |
JP2004355061A (ja) | 分析システム | |
KR100744557B1 (ko) | 정책 서비스 프로토콜 방법 | |
JPH11150540A (ja) | 統合ネットワーク管理システム | |
JP4808787B2 (ja) | ネットワークトラフィックを分割するシステムおよび方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050407 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070724 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20071127 |