カレンダー

11 | 2016/12 | 01
- - - - 1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

広告



最近の記事

カテゴリー

DATE: CATEGORY:TECH


作成したサービスを使ってくれてる方から、
最近、少し遅くなってきたのでは?

という声を頂きました。

ログ等で原因を確認する限り、外部サイトのAPIによるデータ取得で
ほとんどの時間を費やしているので、どうすべきか悩ましいところ。

なんですが、せっかくの機会なので、今回、少し性能面や設定で
チューニングをしてみましたので、覚え書きとして。

今回やったこと


今回は、Apacheでロードモジュールの削減をした件を書きます。
効果は、使用メモリが結構改善したので、覚え書きとして。

Photo:歯車 By:jun560
Photo:歯車 By jun560

とりあえずダメダメの設定だった


実は、VPSを稼働させてApacheを立ち上げてから
デフォルトのまま動かしてました。。。

こりゃセキュリテリ的にもいかんなぁ、という事でチューニング。

何のモジュールをロードするのか

httpd.confの設定を見てみると、デフォルトのままだと、
色んなモジュールがロードされまくってます。
というわけで、行頭に「#」をつけてどんどん
コメントアウトしていきます。

最低限ならこれくらいまで絞れると思います。

LoadModule authz_host_module modules/mod_authz_host.so
LoadModule authz_user_module modules/mod_authz_user.so
LoadModule log_config_module modules/mod_log_config.so
LoadModule setenvif_module modules/mod_setenvif.so
LoadModule mime_module modules/mod_mime.so
LoadModule setenvif_module modules/mod_setenvif.so
LoadModule mime_module modules/mod_mime.so
LoadModule negotiation_module modules/mod_negotiation.so
LoadModule dir_module modules/mod_dir.so
LoadModule alias_module modules/mod_alias.so
LoadModule version_module modules/mod_version.so



あと、こっちは用途に応じて追加でロードします。
とりあえず、必要になる頻度が高そうなものだけ抜粋。

LoadModule auth_basic_module modules/mod_auth_basic.so
LoadModule auth_digest_module modules/mod_auth_digest.so
LoadModule authn_file_module modules/mod_authn_file.so

LoadModule expires_module modules/mod_expires.so
LoadModule deflate_module modules/mod_deflate.so
LoadModule headers_module modules/mod_headers.so
LoadModule rewrite_module modules/mod_rewrite.so



ただこのままだとcgiもphpも動かないので、
自分の環境に合わせてモジュールを追加しましょう。

さらに、conf.dにもいくつかLoadModuleが
あると思うので、ここも必要なものに絞りましょう。
conf.d は実際に利用しているモジュールが多いと
思うのであまり削除の必要はないかもしれませんが。

で、結果、34個ほどコメントアウトが出来ました。

効果はどの程度なのか。


そこそこのModuleを削減しました。では、どの程度効果が出たのか。
その結果が、以下の通り。
改善前


# ps aux -L | grep -e httpd -e USER | grep -v grep
USER PID LWP %CPU NLWP %MEM VSZ RSS TTY STAT START TIME COMMAND
root 12896 12896 0.4 1 2.8 353072 14692 ? Ss 22:41 0:00 /usr/sbin/httpd
apache 12898 12898 0.0 1 1.3 353072 7236 ? S 22:41 0:00 /usr/sbin/httpd
apache 12899 12899 0.0 1 1.3 353072 7236 ? S 22:41 0:00 /usr/sbin/httpd
apache 12900 12900 0.0 1 1.3 353072 7236 ? S 22:41 0:00 /usr/sbin/httpd
apache 12901 12901 0.0 1 1.3 353072 7236 ? S 22:41 0:00 /usr/sbin/httpd
apache 12902 12902 0.0 1 1.3 353072 7236 ? S 22:41 0:00 /usr/sbin/httpd
apache 12903 12903 0.0 1 1.3 353072 7236 ? S 22:41 0:00 /usr/sbin/httpd
apache 12904 12904 0.0 1 1.3 353072 7236 ? S 22:41 0:00 /usr/sbin/httpd
apache 12905 12905 0.0 1 1.3 353072 7236 ? S 22:41 0:00 /usr/sbin/httpd


改善後


# ps aux -L | grep -e httpd -e USER | grep -v grep
USER PID LWP %CPU NLWP %MEM VSZ RSS TTY STAT START TIME COMMAND
root 12922 12922 0.1 1 2.6 287036 13812 ? Ss 22:42 0:00 /usr/sbin/httpd
apache 12923 12923 0.1 1 3.6 300368 19096 ? S 22:42 0:00 /usr/sbin/httpd
apache 12924 12924 0.1 1 3.6 300368 19040 ? S 22:42 0:00 /usr/sbin/httpd
apache 12925 12925 0.0 1 1.2 287036 6736 ? S 22:42 0:00 /usr/sbin/httpd
apache 12927 12927 0.0 1 1.2 287036 6736 ? S 22:42 0:00 /usr/sbin/httpd
apache 12928 12928 0.0 1 1.2 287036 6736 ? S 22:42 0:00 /usr/sbin/httpd
apache 12929 12929 0.0 1 1.2 287036 6736 ? S 22:42 0:00 /usr/sbin/httpd
apache 12930 12930 0.0 1 1.2 287036 6736 ? S 22:42 0:00 /usr/sbin/httpd
apache 12931 12931 0.0 1 1.2 287036 6736 ? S 22:42 0:00 /usr/sbin/httpd



なんと約20%ほど使用メモリが下がりました。
安いVPSでメモリをそんなに積んでいるわけではないので、
これは結構嬉しい結果でした。

参考


タグ : TECH apache チューニング LoadModule

Comment

コメントの投稿

管理者にだけ表示を許可する


トラックバック


この記事にトラックバックする


-


管理人の承認後に表示されます



copyright © なんとなしの日記 all rights reserved.
内職☆在宅ワークの最強は?アフィリエイト!. 初心者だってカッコ良いホームページ作るぅ!
Powered by FC2ブログ
Related Posts Plugin for WordPress, Blogger...