Menu Close

第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
以下の表は、コマンドが返す属性について説明しています。

表2.1 サーバー監視属性

属性 説明
version ディレクトリーの現在のバージョン番号を指定します。
threads リクエストの処理に使用される現在アクティブなスレッドの数。追加のスレッドは、レプリケーションやチェーンなどの内部サーバータスクによって作成されることがあります。
connection 開いている接続ごとに次の要約情報を提供します(ディレクトリーマネージャーとしてディレクトリーにバインドする場合にのみ使用できます)。
fd ― この接続に使用するファイル記述子。
opentime ― 接続が開かれた時間。
opsinitiated ― この接続によって開始される操作の数。
opscompleted ― 完了した操作の数
BindDN ―ディレクトリーに接続するためにこの接続によって使用される識別名。
rw ― 接続が読み取りまたは書き込みのためにブロックされると表示されるフィールド。
デフォルトでは、この情報は Directory Manager で利用できます。ただし、この情報に関連付けられている ACI を編集して、他のユーザーが情報にアクセスできるようにすることができます。
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 コンソールを使用してサーバーを監視するには、以下を行います。
  1. Web コンソールで Directory Server ユーザーインターフェースを開きます。詳細は、『『Red Hat Directory Server Administration Guide』』の「Logging Into Directory Server Using the Web Console」セクションを参照してください。
  2. インスタンスを選択します。
  3. Monitoring タブで Server Statistics を選択します。
    以下の表は、このメニューに表示されるフィールドについて説明しています。

    表2.2 一般情報(サーバー)

    フィールド 説明
    Server Instance Directory Server インスタンスの名前を表示します。
    Version 現在のサーバーバージョンを識別します。
    サーバー起動 サーバーが開始した日時。
    Server Uptime インスタンスが実行されている時間。
    ワーカースレッド リクエストの処理に使用される現在アクティブなスレッドの数。追加のスレッドは、レプリケーションやチェーンなどの内部サーバータスクによって作成されることがあります。
    Threads Waiting To Read クライアントからの読み取りを待つスレッドの合計数。サーバーがクライアントからのリクエストの受信を開始した後、何らかの理由でそのリクエストの送信が停止された場合、スレッドがすぐに読み取られないことがあります。一般に、読み取りを待機しているスレッドは、ネットワークまたはクライアントが遅いことを示しています。
    Conns At Max Threads 現在、max thread 状態にあるすべての接続を表示します。
    Conns Hit Max Threads 接続が max thread に達した回数を表示します。
    Total Connections この Directory Server インスタンスに確立された接続の総数。
    現在の接続 オープン接続の合計数。各接続は複数の操作、したがって複数のスレッドで構成されます。
    Operations Started このコネクションによって開始される操作の数。
    Operations Completed この接続のためにサーバーが完了した操作の数。
    Entries Returned to Clients サーバー起動以降にクライアントに送信されたエントリーの数。
    Bytes Sent to Clients サーバーが起動してからクライアントに送信されたバイト数。