第2章 サーバーおよびデータベースパフォーマンスの追跡
Red Hat Directory Server には、パフォーマンスデータを記録および追跡する、パフォーマンスカウンターとログの 2 つの方法があります。カウンターは、特にデータベースのパフォーマンスにおいて、 Directory Server のパフォーマンスを判断するために使用されます。ログは、サーバーと LDAP の操作および設定に関する問題領域を診断するために使用されます。
パフォーマンスカウンターは、サーバーの Directory Server、設定されたすべてのデータベース、データベースリンク (データベースのチェーン) の操作および情報に集中します。
ログには、アクセス (クライアント接続用)、エラー (エラー、警告、およびイベントの詳細)、および監査 (Directory Server 設定の変更) の 3 つのタイプがあります。アクセスログとエラーログはデフォルトで実行されます (サーバーの実行にはエラーログが必要です)。オーバーヘッドにより、監査ロギングは手動で有効にする必要があります。
注記
アクセスログはバッファーされます。これにより、負荷の高いサーバーであっても完全なアクセスロギングが可能になりますが、サーバーでイベントが発生してからログに書き込まれるまでに時間差が生じます。
2.1. サーバーアクティビティーの監視
Directory Server の現在のアクティビティーは、Web コンソールまたはコマンドラインから監視できます。また、すべてのデータベースのキャッシュアクティビティーを監視することもできます。
注記
サーバーによって監視される Directory Server データベース属性のカウンターによっては、32 ビットシステム上であっても、64 ビットの整数 (合計接続、操作の開始、操作の完了、送信されたエントリー、および送信されたバイト数) が使用されます。大規模なシステムでは、これにより、カウンターのローリングが速すぎたり、監視データが歪んだりするのを防ぎます。
2.1.1. コマンドラインを使用した Directory Server の監視
コマンドラインを使用してサーバーを監視するには、以下を実行します。
# dsconf -D "cn=Directory Manager" ldap://server.example.com monitor server
以下の表は、コマンドが返す属性について説明しています。
属性 | 説明 | ||||||
---|---|---|---|---|---|---|---|
version | ディレクトリーの現在のバージョン番号を識別します。 | ||||||
threads | リクエストの処理に使用される現在アクティブなスレッドの数。追加のスレッドは、レプリケーションやチェーンなどの内部サーバータスクによって作成されることがあります。 | ||||||
connection | 開いている接続ごとに次の要約情報を提供します (ディレクトリーマネージャーとしてディレクトリーにバインドする場合にのみ使用できます)。
| ||||||
currentconnections | ディレクトリーによって現在サービス中の接続の数を識別します。 | ||||||
totalconnections | 起動してからディレクトリーによって処理される接続の数を特定します。 | ||||||
currentconnectionsatmaxthreads | 現在 max thread 状態にあるすべての接続を表示します。 | ||||||
maxthreadsperconnhits | 接続が max thread にヒットした回数を表示します。 | ||||||
dtablesize | ディレクトリーで利用可能なファイル記述子の数を示します。接続ごとに 1 つのファイル記述子が必要です。開いているインデックスごとに 1 つ、ログファイル管理用に 1 つ、ns-slapd 自体用に 1 つです。基本的に、この値は、ディレクトリーが提供できる追加の同時接続の数を示します。ファイル記述子の詳細は、オペレーティングシステムのドキュメントを参照してください。 | ||||||
readwaiters | クライアントからデータの読み取りを待機するスレッドの数を特定します。 | ||||||
opsinitiated | 起動後にサーバーが開始した操作の数を特定します。 | ||||||
opscompleted | 起動後にサーバーが完了した操作の数を特定します。 | ||||||
entriessent | サーバー起動以降にクライアントに送信されたエントリーの数を特定します。 | ||||||
bytessent | サーバーが起動してからクライアントに送信されたバイト数を特定します。 | ||||||
currenttime | サーバーのこのスナップショットを作成した時間を指定します。時刻は、グリニッジ標準時 (GMT) で UTC 形式で表示されます。 | ||||||
starttime | サーバーが起動した時刻を識別します。時刻は、グリニッジ標準時 (GMT) で UTC 形式で表示されます。 | ||||||
nbackends | サーバーサービスのバックエンド (データベース) の数を識別します。 |
2.1.2. Web コンソールを使用したサーバーの監視
Web コンソールを使用してサーバーを監視するには、以下を行います。
- Web コンソールで Directory Server ユーザーインターフェイスを開きます。詳細は、『Red Hat Directory Server Administration Guide』のLogging Into Directory Server Using the Web Consoleセクションを参照してください。
- インスタンスを選択します。
- Server Statistics を選択します。タブで、以下の表は、このメニューに表示されるフィールドについて説明しています。
表2.2 一般情報 (サーバー) フィールド 説明 Server Instance Directory Server インスタンスの名前を表示します。 Version 現在のサーバーバージョンを識別します。 Server Started サーバーが開始した日時。 Server Uptime インスタンスが実行されている時間。 Worker Threads リクエストの処理に使用される現在アクティブなスレッドの数。追加のスレッドは、レプリケーションやチェーンなどの内部サーバータスクによって作成されることがあります。 Threads Waiting To Read クライアントからの読み取りを待つスレッドの合計数。サーバーがクライアントからのリクエストの受信を開始した後、何らかの理由でそのリクエストの送信が停止された場合、スレッドがすぐに読み取られないことがあります。一般に、読み取りを待機しているスレッドは、ネットワークまたはクライアントが遅いことを示しています。 Conns At Max Threads 現在 max thread 状態にあるすべての接続を表示します。 Conns Hit Max Threads 接続が max thread にヒットした回数を表示します。 Total Connections この Directory Server インスタンスに確立された接続の総数。 Current Connections オープン接続の合計数。各接続は複数の操作、したがって複数のスレッドで設定されます。 Operations Started このコネクションによって開始される操作の数。 Operations Completed この接続のためにサーバーが完了した操作の数。 Entries Returned to Clients サーバー起動以降にクライアントに送信されたエントリーの数。 Bytes Sent to Clients サーバーが起動してからクライアントに送信されたバイト数。