Apache Usedslotの見方
Apache Usedslotの見方をまとめてみた
稼働状況の表示(ステータス情報表示)
稼働中のプロセス数,待機中のプロセス数および各プロセスのステータス(R,W,Lなど)をWebブラウザに表示 この情報を基に,StartServers,MinSpareServers,MaxSpareServers,MaxClientsディレクティブなどをチューニングできる
server-statusハンドラの指定
ステータス情報の表示機能を利用するには,次に示すようにserver-statusハンドラを指定 Webサーバのステータス情報はアクセス制御して,エンドユーザには非公開にするのが一般的
<Location /server-status> SetHandler server-status </Location>
URLの指定
ステータス情報を表示するには,Webブラウザやcurlで次の形式でURLを指定
http://IPアドレス/server-status?auto
autoはプレーンテキスト形式で表示できる
# curl http://127.0.0.1/server-status/?auto Total Accesses: 4366246 Total kBytes: 77563940 CPULoad: .34465 Uptime: 150727 ReqPerSec: 28.9679 BytesPerSec: 526949 BytesPerReq: 18190.8 BusyWorkers: 13 IdleWorkers: 7 Scoreboard: K_KKKW._.K..K._.K___KK.W.K_.K..............................................(略)..........
※ステータス情報の表示機能で取得できる情報(auto指定がある場合)
- Total accesses:合計アクセス回数
- Total kBytes:合計通信量
- CPU load:CPU使用率
- Uptime:サーバプロセスの稼働時間(秒)
- ReqperSec:1秒当たりのリクエスト数
- BytesPerSec:1秒当たりの通信量
- BytesPerReq:1リクエスト当たりの通信量
- BusyWorkers:リクエスト処理中のサーバプロセス(スレッド)数
- idle workers:リクエスト待ち状態のサーバプロセス(スレッド)数
- Scoreboard:個々のスレッドの動作状況
※稼働中のサーバプロセスの状態の記号
- _ : リクエスト待ち状態
- S : 起動処理中
- R : クライアントからのリクエストを受信中
- W : リクエストの処理実行およびクライアントへレスポンス送信中
- K : 持続型接続状態でリクエスト受信待ち
- D : ルックアップ中
- C : 接続を終了中
- L : ログ出力処理中
- G : graceful restartにおける処理終了待ち
- I : スレッド停止中
- . : 起動していない状態
見方のPoint
- 「R」 or「W」 が多ければ待機プロセスを増やしたほうがいいので、MaxClients を増やす。
- 「.」が多ければ、ServerLimit を減らす。
- 「_」が多ければ、待機中プロセスが多いので、MinSpareServers と MaxSpareServers を減らす。
監視では
.と_を抜かした個数を分子にして、.を抜かした個数を分母にすれば以下のことがわかる。
- Apache の同時接続数の割合を監視することができる
- MaxClients に対しての 使用中のスロット数 の割合を監視対象の数値とすることができる