LAMP 環境チューニングに便利なツール – 1

LAMP 環境チューニングに便利なツールを紹介していきます!

まずは、Apache のチューニングに役立つ、apachetop についてです。

apache の処理を top コマンドのようにリアルタイムに表示してくれます。インストールも簡単 ( ^ω^)b


$ yum install apachetop

早速使ってみます。


$ apachetop -f /var/log/httpd/access_log

last hit: 03:00:55 atop runtime: 0 days, 00:00:05 03:01:00
All: 13 reqs ( 2.6/sec) 186.6K ( 37.3K/sec) 14.4K/req
2xx: 13 ( 100%) 3xx: 0 ( 0.0%) 4xx: 0 ( 0.0%) 5xx: 0 ( 0.0%)
R ( 5s): 13 reqs ( 2.6/sec) 186.6K ( 37.3K/sec) 14.4K/req
2xx: 13 ( 100%) 3xx: 0 ( 0.0%) 4xx: 0 ( 0.0%) 5xx: 0 ( 0.0%)

REQS REQ/S KB KB/S URL
5 0.29 217.4 12.8*/
5 0.36 1.0 0.1 /services/menu.js
4 0.31 0.8 0.1 /services/footer.js
4 0.31 0.1 0.0 /images/skip/icons/.png
3 0.23 69.8 5.4 /rss.xml
3 0.25 2.2 0.2 /mypage/ado_antennas/
3 0.25 2.6 0.2 /mypage/load_rss_feed
1 0.14 0.0 0.0 /javascripts/skip/effects.js
1 0.14 8.6 1.2 /feed/recent_blogs/
1 0.14 0.0 0.0 /javascripts/skip/controls.js
1 0.14 0.0 0.0 /javascripts/skip/slider.js
1 0.17 0.0 0.0 /images/arrow.jpg
1 0.17 0.7 0.1 /favicon.ico

お~!リアルタイム!もう少し時間指定してみる。

 

“T” オプション

  • 直近で指定された秒数でのアクセスを対象に表示

“d” オプション

  • 画面表示の更新周期

$ apachetop -T 10 -d 10 -f /var/log/httpd/access_log

last hit: 03:25:57 atop runtime: 0 days, 00:00:10 03:25:58
All: 87 reqs ( 12.4/sec) 1532.9K ( 219.0K/sec) 17.6K/req
2xx: 87 ( 100%) 3xx: 0 ( 0.0%) 4xx: 0 ( 0.0%) 5xx: 0 ( 0.0%)
R ( 10s): 87 reqs ( 8.7/sec) 1532.9K ( 153.3K/sec) 17.6K/req
2xx: 87 ( 100%) 3xx: 0 ( 0.0%) 4xx: 0 ( 0.0%) 5xx: 0 ( 0.0%)

ふむふむ。10 秒間に 87 リクエスト処理している事がわかります。統計を取っていけば平均的なリクエスト数がわかりますね!アクセス頻度にも偏りがあるので適正な値を設定するのは難しいですが、MaxRequestsPerChild の設定等に役立ちそうです。

 

他にもいろいろなオプションがあるようです。下記は実行中に表示を切り替えるコマンドです。

“d” コマンド

  • URL、リファラ、アクセス元の表示切替え

“n” コマンド

  • HTTP レスポンスのステータスコードの表示

“p” コマンド

  • Pause、その時点のもので固定表示

“s” コマンド

  • 表示内容を各項目でソートして表示

 

Apache のチューニングは難しいです。フォークさせなければメモリが・・・・。フォークすれば CPU が・・・・。様々なコンテンツがあるので、環境にあった設定が大切と感じる今日このごろですが、私はフォークさせない設定が好きです(笑)

 

とはいっても、どこまでメモリ掴むのってくらいメモリを消費する環境もありますよね。起動するプロセス数も大事ですが、CPU に余裕がある環境でしたら、プロセスをリフレッシュさせまくって、メモリ解放を活発にしてあげる事も大切です。

 

そろそろ lighttpd の検証も始めないとダメですかね。次回は MySQL についてツールを探してみます ( ^ω^)b


投稿者プロフィール

Rito
★好きなAWSサービス: ElasticBeanstalk
★好きな言語: Python
★最近は elastic 社のサービスを勉強中。

コメントを残す

メールアドレスが公開されることはありません。

Time limit is exhausted. Please reload CAPTCHA.

ABOUTこの記事をかいた人

★好きなAWSサービス: ElasticBeanstalk ★好きな言語: Python ★最近は elastic 社のサービスを勉強中。