Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (日本語) » SQL Anywhere サーバ - SQL の使用法 » データベース・パフォーマンスのモニタリングと改善 » データベース・パフォーマンスの改善 » その他の診断ツールと方法

 

要求ロギング

要求ロギングは、アプリケーションから受け取った要求と、アプリケーションに送られた応答のログを個別に記録します。データベース・サーバがアプリケーションに何を要求されているかを特定したい場合に最も役立ちます。

特定のアプリケーションのパフォーマンスを分析するときに、データベース・サーバとクライアントのどちらに原因があるか不明な場合は、要求ロギングから始めることもおすすめします。要求ロギングは、問題の原因となっている可能性の高い、データベース・サーバに対する特定の要求を特定するためにも使用できます。

注意

要求ロギング機能で提供されるすべての機能とデータは、診断トレーシングを使用した場合も利用できます。診断トレーシングでは、それ以外の機能やデータも提供されます。診断トレーシングを使用した詳細なアプリケーション・プロファイリングを参照してください。

ログに取られる情報には、タイムスタンプ、接続 ID、要求タイプなどがあります。クエリについては、独立性レベル、フェッチされたローの数、カーソル・タイプもあります。INSERT 文、UPDATE 文、DELETE 文については、対象のロー数と実行されたトリガ数もあります。

警告

要求ログには SQL 文の完全なテキストが含まれるので、GRANT CONNECT 文、CREATE DATABASE 文、CREATE EXTERNAL LOGIN 文などのパスワードを含む SQL 文の場合、これは機密情報になります。セキュリティが心配な場合は、要求ログ・ファイルへのアクセスを制限してください。

-zr サーバ・オプションを使用すると、データベース・サーバの起動時に要求ロギングをオンにできます。-zo サーバ・オプションを使用すると、出力を要求ログ・ファイルにリダイレクトして、さらに分析を進めることができます。-zn オプションと -zs オプションを使用すると、保存する要求ログ・ファイルの数と要求ログ・ファイルの最大サイズを指定できます。

これらのオプションの詳細については、次の項を参照してください。

注意

サーバ・オプションは、Sybase Central の診断トレーシングに影響しません。ファイルベースの要求ロギングは、Sybase Central の診断トレーシング機能とは完全に別個のものです。Sybase Central の診断トレーシング機能では、データベース内の dbo 所有の診断テーブルを使用して要求ログ情報が格納されます。

sa_get_request_times システム・プロシージャは、要求ログを読み込み、ログの文とその実行時間をグローバル・テンポラリ・テーブル (satmp_request_time) に格納します。INSERT、UPDATE、DELETE の各文の場合は、記録される時間は、文が実行された時間です。クエリの場合、記録された時間は、PREPARE から DROP (DESCRIBE/OPEN/FETCH/CLOSE) までの合計所要時間です。したがって、オープン・カーソルには注意する必要があります。

改善候補の文について satmp_request_time を分析します。低コストでも頻繁に実行される文が、パフォーマンスの問題を引き起こしている可能性があります。

sa_get_request_profile を使用して、sa_get_request_times と summarize satmp_request_time を satmp_request_profile という別のグローバル・テンポラリ・テーブルに呼び出すことができます。また、このプロシージャは、文をグループ化し、呼び出しの回数、実行時間などの情報を提供します。sa_get_request_times システム・プロシージャsa_get_request_profile システム・プロシージャを参照してください。

要求ログのフィルタ

要求ログへの出力は、sa_server_option システム・プロシージャを使用してフィルタして、特定の接続やデータベースからの要求のみを含めるようにできます。これにより、アクティブな接続の多いデータベース・サーバや複数のデータベースのあるデータベース・サーバをモニタリングするときのログ・サイズを縮小できます。sa_server_option システム・プロシージャを参照してください。

♦  接続に基づいてフィルタするには、次の手順に従います。
♦  データベースに基づいてフィルタするには、次の手順に従います。
♦  フィルタをリセットするには、次の手順に従います。
要求ログへのホスト変数の出力

ホスト変数の値を要求ログに出力できます。

♦  ホスト変数の値を含めるには、次の手順に従います。

要求ログ分析プロシージャ sa_get_request_times は、ログ中のホスト変数を認識し、それらをグローバル・テンポラリ・テーブル satmp_request_hostvar に追加します。