Apache

2015年10月 8日 (木)

Apache いれたら ぜひ見直したい項目 [KeepALive]

MaxClients 256

MaxKeepAliveRequests 100
KeepAliveTimeout 5

TimeOut 300

数字はデフォルトなのでMaxの数を上げたり、Timeoutの数字を減らしたりする必要あり。

[Thanks]

http://httpd.apache.org/docs/2.2/ja/mod/core.html
http://httpd.apache.org/docs/2.4/ja/mod/mpm_common.html
http://nameless-se.blogspot.jp/2013/04/apache-keepalivetimeout.html
http://www.atmarkit.co.jp/ait/articles/0207/23/news002_2.html

Apache をいれたらすぐにしたい設定 [高速化・ホスト逆引き禁止]

HostNameLookups Off

[補足]
DNSの逆引きが行われなくなる。

イントラサイトでの運用はもちろん、インターネット上での運用でも、逆引きが行われるのは余計なトラフィックが増える。だからカット

[Thanks]

http://thinkit.co.jp/cert/article/0706/3/8/3.htm
http://www.atmarkit.co.jp/ait/articles/0207/23/news002.html

Apache Win64 をいれたらすぐにしたい設定 [接続が不安定にならないための防止策]

[Solution]


Apache 2.4なら
1. conf/extra.conf の httpd-mpm.conf の win_mpmの項目(ディレクティブ IfModule mpm_winnt_moduleの中)に以下を書き加える
 AcceptFilter http none
 AcceptFilter https none
 EnableSendfile off
 EnableMMAP off

2. conf/httpd.conf の 以下のコメントを外す (頭の#をとる)
 #Include conf/extra/httpd-mpm.conf

[これを落とすとどうなるのか]
  • error.logに「(OS 64)指定されたネットワーク名は利用できません。  : AH00341: winnt_accept: Asynchronous AcceptEx failed.」というエラーが吐かれる。

  • クライアントからのリクエスト・レスポンスが鈍りはじめる。最後は接続できなくなる。(はた目からは落ちているように見える) 少し待つと元に戻ることもある。発生頻度がランダム

  • クライアントがInternet Explorerを使用しているときによく見られる。発生箇所・頻度がランダム

  • httpdを再起動するとしばらく稼働する (が、すぐに再発する)

  • サーバーをみると、httpdのプロセスが走っている状態なので、正常化稼働しているように見える。

[追加調査]
  • どうもWindows系の一部のソフトウェアのバグと思われる。説明書に「 AcceptEx() の適切な動作を妨げるものがあります。 以下のようなエラーに遭遇した場合は、このディレクティブを使用して AcceptEx() を使用しないようにしてください。」とある

  • EnableSendfileはクライアントにファイルの内容を送るとき、カーネルの sendfile サポートを使うかどうか。と説明書にはあり、「運用上の問題を避けるためにこの機能を使用不可にした方が良い場合があります」と説明にはあります

  • EnableMMAPは「配送中にファイルの内容を読み込む必要があるときに httpd がメモリマッピングを使うかどうか」と説明書にはあり、「運用上の問題を避けるためにこの機能を使用不可にした方が良い場合があります」と説明にはあります。

[検証不足な推測]
  • それなりの人数がいないと、リクエスト・レスポンスが鈍り始めていることに気が付かない ?
  • 同時リクエストよりも五月雨式にリクエストがきたときに発生する ?
[ハマる度]
結構高い
一度設定してしまうとほとんど無関心になってしまうので忘れがち。
[Thanks]
https://www.google.co.jp/search?q=%22(OS+64)%E6%8C%87%E5%AE%9A%E3%81%95%E3%82%8C%E3%81%9F%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF%E5%90%8D%E3%81%AF%E5%88%A9%E7%94%A8%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82+%3A+AH00341%3A+winnt_accept%3A+Asynchronous+AcceptEx+failed.%22&oq=%22(OS+64)%E6%8C%87%E5%AE%9A%E3%81%95%E3%82%8C%E3%81%9F%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF%E5%90%8D%E3%81%AF%E5%88%A9%E7%94%A8%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82+%3A+AH00341%3A+winnt_accept%3A+Asynchronous+AcceptEx+failed.%22&aqs=chrome..69i57.757j0j4&sourceid=chrome&es_sm=93&ie=UTF-8
https://www.apachelounge.com/viewtopic.php?p=24711
http://section009.blog51.fc2.com/blog-entry-995.html
http://www.vintage.ne.jp/blog/2015/05/404
http://httpd.apache.org/docs/2.2/ja/mod/mpm_winnt.html
http://httpd.apache.org/docs/2.4/ja/mod/mpm_winnt.html

http://www.neko6.info/archives/203

その他のカテゴリー