« Windows イベントログ クリーニング | トップページ | MySQLを入れたらぜひ見直したい・my.iniに加えたい設定 [接続関係] »

2015年10月 8日 (木)

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

« Windows イベントログ クリーニング | トップページ | MySQLを入れたらぜひ見直したい・my.iniに加えたい設定 [接続関係] »

Apache」カテゴリの記事

Solution」カテゴリの記事

Windows」カテゴリの記事

コメント

コメントを書く

コメントは記事投稿者が公開するまで表示されません。

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/1954/62435032

この記事へのトラックバック一覧です: Apache Win64 をいれたらすぐにしたい設定 [接続が不安定にならないための防止策]:

« Windows イベントログ クリーニング | トップページ | MySQLを入れたらぜひ見直したい・my.iniに加えたい設定 [接続関係] »