|
Pervasive PSQL サーバーの Windows 版では Windows パフォーマンス モニターで使用するパフォーマンス カウンターを提供します。Pervasive PSQL のパフォーマンス カウンターがサポートされるのは、Windows Vista 以上の Windows オペレーティング システムのみです。パフォーマンス カウンターはデータベース エンジンの状態や動作を測定します。これによりアプリケーションのパフォーマンスを分析することができます。Windows パフォーマンス モニターは、指定の時間間隔でパフォーマンス カウンターの現在の値を要求します。
Pervasive PSQL は、パフォーマンス モニターで表示するためだけにデータを提供しており、カウンターのプロパティは変更できません。パフォーマンス モニターは以下のアイテムを制御します。
カウンターの値は、呼び出し元を問わず、データベース エンジンへのすべての呼び出しを反映します。つまり、トランザクショナル インターフェイス、リレーショナル インターフェイス、ネイティブな Btrieve アプリケーション、ユーティリティなど、すべてがカウンターの値の一因となります。カウンターの値はすべてのファイルを対象に収集されます。ファイルごとのカウンターは現在サポートされていません。
パフォーマンス カウンターの使用は、主にアプリケーション開発者およびその他の技術スタッフ向けの高度な機能です。Windows パフォーマンス モニターおよび一般的なカウンターの使用の詳細については、Microsoft の関連ドキュメントを参照してください。
デフォルトで、Pervasive PSQL のインストールでは Pervasive PSQL パフォーマンス カウンターをパフォーマンス モニターに登録します。このカウンターはインストール完了後に使用できるようになります。
お客様のニーズへの対応のため、本章で説明されていない Pervasive PSQL コレクター セットまたはカウンターを追加インストールすることになる可能性もあります。そのような場合は、Windows パフォーマンス モニターで提供されるコレクター セットまたはカウンターの説明を参照してください。 カウンター セットまたは個別のカウンターをモニターへ追加するを参照してください。
データ コレクター セットは、複数のカウンターを 1 つのコンポーネントにまとめています。このコンポーネントを使用してパフォーマンスを再確認したり記録したりすることができます。 Pervasive PSQL では以下のデータ コレクター セットを提供します。
これらのカウンターは、トランザクショナル(Btrieve)インターフェイスに関するクライアント アプリケーションの動作の特徴を示すために役立ちます。カウンターは、指定した時点にデータベース エンジンで処理されたオペレーションの種類を報告します。
『Btrieve API Guide』の「Btrieve API オペレーション」も参照してください。
カウンター
|
説明
|
典型的な使用法
|
---|---|---|
Btrieve Close Operations/sec
|
1 秒あたりの Btrieve Close オペレーション数。
|
クライアント アプリケーションの動作を調査します。問題を解決す最初のステップとして、Btrieve オペレーションに関するアプリケーション動作の分析に役立つ可能性があります。
|
Btrieve Get/Step Operations/sec
|
1 秒あたりの Btrieve Get および Step オペレーション数。
各種 Get および Step オペレーションについては、『Btrieve API Guide』の 「Btrieve API オペレーション」を参照してください。
|
|
Btrieve Open Operations/sec
|
1 秒あたりの Btrieve Open オペレーション数。
|
|
Btrieve Records Deleted/sec
|
1 秒あたりの Btrieve レコード削除数。
|
|
Btrieve Records Inserted/sec
|
1 秒あたりの Btrieve レコード挿入数。
|
|
Btrieve Records Updated/sec
|
1 秒あたりの Btrieve レコード アップデート数。
|
|
Change Operations/sec
|
1 秒あたりのデータ ファイルを変更する Btrieve オペレーション数。
|
|
Operations/sec
|
1 秒あたりのオペレーション数。
|
|
Page Server Requests/sec
|
1 秒あたりのリモート キャッシュエンジンからのページリクエスト数。
|
データベース エンジンは 2 つのレベルのメモリ キャッシュ システムを使用してデータ操作のパフォーマンスを向上させます。2 つのキャッシュは「L1(レベル 1)キャッシュ」と「L2(レベル 2)キャッシュ」と呼ばれます。
ユーザーの要求に応じエンジンがディスクからページを読み取る頻度が高くなるほど、パフォーマンスは低下します。これらのカウンターを使用すると、データベース エンジンによるディスク読み込みの回避状況をまとめて表示し、キャッシュ サイズの設定に対してなんらかの変更が必要かどうかを判断することができます。
すべてのデータが L1 キャッシュに格納された場合は最高のパフォーマンスが得られます。ただし、データ ファイルのサイズによっては、L1 キャッシュにすべてのデータ ページを保持できないこともあります。このため、データベース エンジンは第 2 レベルのキャッシュ(L2 キャッシュ)も使用します。L2 キャッシュのページは圧縮形式で格納されるため、より多くのページをメモリに入れることができます。そのため、L1 キャッシュよりもパフォーマンスは低下しますが、データベース エンジンがディスクからページを読み込む状況と比べればパフォーマンスは高くなります。
データベースのメモリ キャッシュの理想的なサイズを計算するにはも参照してください。
カウンター
|
説明
|
典型的な使用法
|
---|---|---|
Level 1 Cache Dirty Percentage
|
ダーティ ページを含む使用中の L1 キャッシュの割合 (%)。
|
頻繁にアクセスされるページが継続的にキャッシュの外へ出されるかどうかを判断するのに役立ちます。そのようなページが継続的にキャッシュの外へ出されるとパフォーマンスが低下する可能性があります。
ディスクへ書き込まれていない変更を含むダーティ ページは、L1 キャッシュに存在しているだけかもしれません。大量に書き込みが行われる状況下では、L1 キャッシュにダーティ ページが含まれる可能性が高くなります。これによってページが強制的に L1 キャッシュから出され、L2 キャッシュを設定していれば L2 キャッシュへ入れられます。L2 キャッシュを設定していなければ L1 キャッシュの外へ完全に出されてしまいます。
データベース エンジンは、指定した間隔で、または L1 キャッシュがほぼいっぱいになったときにダーティ ページをディスクへ書き込みます。ページが頻繁にディスクへ書き込まれると、パフォーマンスに悪影響を及ぼす可能性があります。
L1 キャッシュのサイズを調整してダーティ ページの割合が高くならないようにすれば、パフォーマンスを向上させることができます。キャッシュ割当サイズも参照してください。
|
Level 1 Cache Hits/sec
|
1 秒あたりの L1 キャッシュ ヒット数。
|
データベース エンジンが、要求されたページを L1 キャッシュで見つけることができたかどうかを判断するのに役立ちます。ヒット率が高くなると、データベース エンジンが L2 キャッシュまたは物理記憶域へアクセスすることなく L1 キャッシュでページを見つけていることを示します。
|
Level 1 Cache Hit Ratio
|
L1 キャッシュ アクセスのヒット率 (%) 。
MicroKernel が有効である間だけ割合が表示されます。
|
|
Level 1 Cache Misses/sec
|
1 秒あたりの L1 キャッシュ失敗数。
|
|
Level 1 Cache Usage
|
現在使用中の L1 キャッシュの割合 (%)。
|
L1 キャッシュのサイズをアプリケーションに応じて調整する場合に役立ちます。たとえば、サイズが小さなデータ ファイルまたは主に読み取り専用のデータ ファイルを使用するアプリケーションの場合、デフォルトで設定された L1 キャッシュはそのデータ ファイルだけではいっぱいにならないかもしれません。L1 でメモリが使用されなくても、オペレーティング システムまたはその他のアプリケーションがその未使用分のメモリを使用することはできません。
L1 キャッシュ サイズを適宜変更すれば、メモリをオペレーティング システムへ解放することができます。逆に、データベース全体をメモリに入れておきたい場合は、L1 キャッシュ サイズの設定が妥当かどうかを知るためにこの値を監視することができます。
|
Level 2 Cache Hits/sec
|
1 秒あたりの L2 キャッシュ ヒット数。
|
データベース エンジンが、要求されたページを L2 キャッシュで見つけることができたかどうかを判断するのに役立ちます。ヒット率が高くなると、データベース エンジンが物理記憶域へアクセスすることなく L2 キャッシュでページを見つけていることを示します。
|
Level 2 Cache Hit Ratio
|
L2 キャッシュ アクセスのヒット率 (%) 。
MicroKernel が有効である間だけ割合が表示されます。
|
|
Level 2 Cache Misses/sec
|
1 秒あたりの L2 キャッシュ失敗数。
|
|
Level 2 Cache Raw Size
|
L2 キャッシュの現在のサイズ (バイト)。
|
任意指定の L2 キャッシュ サイズを決定するために役立ちます。
L2 キャッシュは MicroKernel の最大メモリ使用量用に設定される要素の 1 つです。その設定は、総物理メモリに対してデータベース エンジンが消費できるメモリの割合を指定します。これには、データベース エンジンによる、L1 キャッシュ、L2 キャッシュおよびその他すべてのメモリの使用量が含まれます
MicroKernel の最大メモリ使用量の設定が 0 以外の場合、L2 キャッシュのサイズはその設定によるメモリ制限内に収まります。L2 キャッシュはシステムのメモリ消費を監視し、必要に応じて自身のサイズを変更します。L2 キャッシュによって使用されるメモリは、オペレーティング システムによってスワップ アウトされることもあります。
|
Level 2 Cache Raw Usage
|
現在使用中の L2 キャッシュの量 (バイト)。
|
|
Level 2 Cache Size Relative to Memory
|
物理メモリに対する L2 キャッシュ サイズの割合 (%)。
|
システム メモリに対する L2 キャッシュの使用割合を示します。
|
Level 2 Cache Usage
|
現在使用中の L2 キャッシュの割合 (%)。
|
現時点における L2 キャッシュの使用割合を示します。
|
このセットのカウンターは、データベース エンジンによる、物理記憶域へのデータの読み取りおよび書き込み状況を把握するのに役立ちます。カウンターによって報告されるページとはデータ ファイル ページです。このカウンターでは、アーカイブ ログまたはトランザクション ログ向けに使用されるファイルのページ用のデータは報告しません。
『Pervasive PSQL Programmer's Guide』の「ページ」も参照してください。
カウンター
|
説明
|
典型的な使用法
|
---|---|---|
Pages Read/sec
|
1 秒あたりのディスクからの読み取りページ数。
|
データベース エンジンによる、物理記憶域へのデータの読み取りおよび書き込み状況を測定します。
|
Pages Written/sec
|
1 秒あたりのディスクへの書き込みページ数。
|
クライアントの要求は、リソースが使用可能になるのを待つため遅延することがあります。これらのカウンターを使用すれば、リソースが使用可能になるまでクライアント要求を待つ必要があるデータベース リソースのタイプを特定することができます。同様に、これらのカウンターでは複数のクライアントがリソースへアクセスしたときのデータベース エンジンの動作を観察することができます。値がクライアント数に近いまたは等しい場合は、同じリソースに対して競合している可能性があることを示しています。これらの競合を低減するための是正措置を行えば、反応性を改善することができます。
このグループの中で Waits on Page Buffers および Waits on Page Reads を除くカウンターはすべて複数のファイルに広がる可能性があります。これはすべてのクライアントが同じリソースを待機しなくてもよいということです。 Waits on Page Buffers および Waits on Page Reads はグローバル リソースを待機します。
『Pervasive PSQL Programmer's Guide』の「データの整合性」および複数のクライアントのサポートを参照してください。
カウンター
|
説明
|
典型的な使用法
|
---|---|---|
Client Record Locks
|
クライアントによって明示的にロックされたレコード数。
|
クライアント アプリケーションの作業負荷を調査します。
|
Waits on Active Writer Lock
|
アクティブなライタ ロックを待機中のクライアント数。たった 1 つのクライアントが一度にアクティブなライタ ロックを持つかもしれません。各ファイルがそれ自身のアクティブなライタ ロックを持っています。
|
|
Waits on File Locks
|
現在ファイル ロックで待機中のクライアント数。
|
|
Waits on Page and Record Locks
|
現在ページおよびレコードロックで待機中のクライアント数。
|
|
Waits on Page Buffers
|
ページ バッファーが利用可能になるのを待機中のクライアント数。もしページがリクエストに応じるためにアクセス可能でない場合は、リクエストは MicroKernel が 1 ページを提供することが可能になるまでブロックします。
|
データベース エンジンが、キャッシュのページ バッファーを使用できるかどうかを示します。この値をメモリ キャッシ関連のカウンターと一緒に使用して、キャッシュのサイズが作業負荷に対して適切かどうかを確認します。キャッシュ サイズを大きくすると使用可能な総ページ数も増えます。これにより、ページ バッファーへの待機を減らすことができます。MicroKernel キャッシュ用のカウンターも参照してください。
|
Waits on Page Reads
|
ディスクからページ読み取りを待機中のクライアント数。
|
メモリ キャッシュが、頻繁にアクセスおよび変更されるすべてのページを含めることができないほど小さいかどうかを判断するのに役立ちます。
キャッシュにページがない場合は、以下の 3 つ状況によってこの値が急増する可能性があります。
1 番目と 2 番目の項目によって値が急増するのは、ファイルへのアクセスが初めてであるため回避することはできません。3 番目の状況はキャッシュ サイズを大きくすることで回避できます。キャッシュがいっぱいでキャッシュ失敗数が多くなると、メモリ キャッシュが小さすぎて、頻繁にアクセスおよび変更されるすべてのページを含めることができない可能性があります。
MicroKernel キャッシュ用のカウンターも参照してください。
|
これらのカウンターは、トランザクションに関するクライアント アプリケーションの動作を理解するために役立ちます。たとえば、変更が多く処理に長時間かかる少数のトランザクションと、短時間で処理が完了する多くのトランザクションとでは動作が異なります。
『Btrieve API Guide』の 「Begin Transaction(19 または 1019)」、「End Transaction(20)」 および 「Abort Transaction(21)」、また『Pervasive PSQL Programmer's Guide』の 「トランザクショナル インターフェイスの基礎」 も参照してください。
カウンター
|
説明
|
典型的な使用法
|
---|---|---|
System Transactions in Progress
|
進行中のシステム トランザクション数。システム トランザクションはデータファイルの変更を準備し、その変更をファイルに保持し続ける特殊なタイプのトランザクションです。
|
システム トランザクションの発生頻度が高すぎるまたは低すぎるかどうかを判断するために役立ちます。
データベース エンジンは、システム トランザクション中に変更をデータ ファイルへ書き込みます。システム トランザクションが発生する頻度は、起動時間制限およびオペレーション バンドル制限という 2 つのサーバー設定パラメーターによって決められるか、あるいは L1 キャッシュの空き領域が少ないことが影響します。
通常、システム トランザクションの実行頻度が高すぎたり低すぎたりするとパフォーマンスに悪影響を及ぼします。一般的には、1 秒あたりのページ書き込み数が増加し、レコードを変更する Btrieve オペレーション数は減少し、またアクティブなライタ ロックを待機するクライアント数は増加する可能性があります。これは特定の作業負荷に対する理想的な間隔を測定するための実験が必要となることもあります。
|
Transaction Commits/sec
|
1 秒あたりに実行されたコミット数。
|
アプリケーション トランザクションのコミット数を測定します。 『Btrieve API Guide』の「End Transaction(20)」も参照してください。
|
このセクションでは、Windows パフォーマンス モニターの基本的な使用手順について説明し、Pervasive PSQL パフォーマンス カウンターを使用できるようにします。Windows パフォーマンス モニターの使用に関する詳細については、Microsoft のドキュメントを参照してください。
以下に示す手順は、Pervasive PSQL のインストールによって Pervasive PSQL パフォーマンス カウンターが Windows パフォーマンス モニターに登録されていることを前提としています。
Pervasive PSQL データ コレクター セットを表示する
カウンター セットまたは個別のカウンターをモニターへ追加する
カウンターのスケールを変更するには
|