ここでは、システム動作の監視に使用できる Solaris 固有のツールおよびユーティリティーのいくつかについて説明します。この章の内容は、次のとおりです。
ここで説明されているツールは、Web Server によって生成される負荷にシステムがどのように応答するかという観点からパフォーマンスを監視します。Web Server の独自の機能を使用して、ユーザーが Web Server 自体に出した要求を追跡する方法については、「サーバーパフォーマンスの監視」を参照してください。
Solaris は、システム動作の「スナップショット」を作成するためのいくつかのツールを提供しています。その出力をファイル内に取得してあとで分析することは可能ですが、次に示すツールは、主にリアルタイムでシステム動作を監視することを目的としています。
iostat -x 60 コマンドは、ディスクパフォーマンス統計を 60 秒間隔で報告します。
各ディスクがどれだけの時間ビジー状態にあるかを調べるには、%b 列を監視します。ビジー状態がその時間の約 20% を超えるすべてのディスクでは、svct 列で報告されるサービス時間に注意してください。ほかの列では、入出力処理率、データ転送量などが報告されます。
vmstat 60 コマンドは、仮想記憶アクティビティーと一部の CPU 統計情報を 60 秒間隔で集計します。
ページ走査率を追跡し、それが高すぎる場合に対処するには、sr 列を監視します (ここでいう「高すぎる」率は、Solaris 8 および 9 とそれ以前のリリースで非常に異なることに注意)。CPU がどれだけの負荷で使用されているかを調べるには、us、sy、および id 列を監視します。アクティビティーの突然のバーストに対処するには、十分な CPU パワーを確保しておく必要があることに注意してください。また、CPU 時間について競合しているスレッドの数を調べるために、r 列も監視してください。この数が CPU の数の約 4 倍を超えたままになっている場合は、サーバーの並行性の削減が必要になることがあります。
mpstat 60 コマンドが CPU 統計情報の詳細を提供するのに対して、netstat -i 60 コマンドはネットワークアクティビティーを集計します。
前述のツールを使用してシステム性能を「抜き打ち検査する」だけでなく、傾向を検出できるように、より長期的なパフォーマンス履歴を収集することが重要です。少なくとも、正常に実行されているシステムのベースライン記録によって、システムのパフォーマンスが低下し始めた場合に、変更があった内容を調査するのに役立つ可能性があります。システムアクティビティーのレポートパッケージを有効にするには、次の手順に従います。
ファイル /etc/init.d/perf を編集し、このファイルの終わりに近い行から # のコメント文字を削除します。Solaris 10 では、次のコマンドを実行します。
svcadm enable system/sar
コマンド crontab -e sys を実行し、sa1 および sa2 コマンドを含む行から # のコメント文字を削除します。また、サイトのアクティビティープロファイルによっては、これらのコマンドを実行する頻度や時刻の調整も必要になる可能性があります。このファイルの形式の説明については、crontab のマニュアルページを参照してください。
これにより、パフォーマンスデータは /var/adm/sa ディレクトリ内のファイルに格納されるようになります。デフォルトでは、これらのファイルはここに 1 か月間保持されます。次に、sar コマンドを使用して、目的の期間の統計情報を検査することができます。
SE ツールキットは、Sun のパフォーマンス専門家によって開発された、無料でダウンロード可能なソフトウェアパッケージです。生のパフォーマンス統計の収集と監視に加えて、このツールキットでは、システムの全体的な健全性や、調整を必要とする重要な領域を特徴づけるために、ヒューリスティックを適用できます。このツールキットとマニュアルは、次の場所からダウンロードできます。