|
||||||||||||
| 1 2 3 4 次のページ | ||||||||||||
| 主な稼動情報の取得 | ||||||||||||
|
前回は、DB2の稼動情報を取得するためのツールを紹介してきました。続く今回は、前回紹介してきたツールの中から「スナップショット・モニター」「DB2メモリー・トラッカー」に焦点をあてて、稼動情報の取得方法から情報の使い方を解説します。 まずは、DB2の主な稼動情報とスナップショット・モニターで取得可能な情報を以下に示します。
注1:
接続の累計数の情報、および過去の最大接続数の情報は取得できません。
注2: 複数のバッファープールがある場合でも、合計量の情報のみ取得可能です。個別のバッファープールごとに情報を得るためには、バッファープール・スナップショットを利用します。 注3: 先読み処理での待ち時間、および先読みしたものの利用されなかったページ数についての情報が得られます。先読みしたページ数、および先読み実行時間については、データベース・スナップショットで取得します。 注4: 書出し処理の時間がわかります。書き出しのトリガーについての情報は、データベース・スナップショットで取得します。 注5: データベース・マネージャ・スナップショットでのみ、パイプ済みソートの情報が得られます。しかし、ソートオーバーフローの数、ソート時間、現在実行中のソート数の情報は得られません。 注6: ソート数、ソートオーバーフロー、ソート時間合計のみがわかります。 注7: SQLの種類ごと(動的/静的、あるいはSELECTおよびUPDATE/INSERT/DELETE)ごとに実行数わかります。 注8: SQL文ごとに実行数、コンパイル数(最適化を実施した回数)がわかります。 |
||||||||||||
| 各稼動情報について | ||||||||||||
|
データベース・スナップショットを中心に、各稼動情報について解説します。これらの情報は、パフォーマンス分析・チューニングに必須の情報であるため、普段から記録を取っておく必要があります。そして、チューニングが必要な状況となった場合に、この記録の値と現在の値を比較し、問題点を調査します。 スナップショットで得られる値には、大きく3種類存在します。
表2:スナップショットで得られる値 |
||||||||||||
| 接続 | ||||||||||||
|
インデックスを利用して少ない行数をアクセスするシンプルなSQLの処理と比べると、接続処理はかなり負荷が高い(CPU)処理となります。頻繁に接続を繰り返すような場合には、全体の性能に影響をおよぼす場合があります。 データベース・スナップショットでは、以下の接続に関連した情報を取得することができます。
表3:データベース・スナップショットで取得できる情報 これらのうち、アプリケーション接続は累計値のため、あるインターバルでデータベース・スナップショットを取得することにより、時間帯ごとの新規接続数を把握することが可能です。 |
||||||||||||
| バッファプール〜ヒット率 | ||||||||||||
|
データベース・スナップショットでは、以下のように、データ、インデックス、一時表スペースごとに、ヒット率を確認することができます。バッファプール・スナップショットでは、さらにバッファプールごとに同様の情報を入手できます。
表4:取得できるバッファ・プールのヒット情報 ここでの論理読み取りは、総読み取り要求をあらわします。よって、ヒット率は以下のように計算します。 ![]() 図1:バッファ・プール・データのヒット率の計算式 バッファ・プールヒット率は、性能に大きな影響を与えるため、ヒット率の監視は重要です。 読み取りページ数は累積値となるため、ある時間帯の性能を調査するためには、最低でも2回スナップショットを取り、差分値を使ってヒット率を計算する必要があります。 |
||||||||||||
|
1 2 3 4 次のページ |
||||||||||||
|
|
||||||||||||
|
|
||||||||||||
|
||||||||||||
|
|
||||||||||||
|
||||||||||||



