・ω・)旦~~ ∑
おいおい、network.http.max-connections 増やしてるじゃんか。簡単に言うと、同時接続数。1ブラウザが同時にたくさんのモノを取得しようとするわけです。通常、ページにはテキスト・画像・Flashが含まれています。特に、画像のwidth,heightが記載されていない場合、htmlの成型は画像が呼ばれてから体裁を整えます。つまり、同時に多数読み込む事とその体裁を整えるまでの時間も短くなるわけです。最近の回線速度なら、それもできなくは無いでしょう。
が。サーバ管理者にとっては迷惑この上ないわけで。Apacheの場合、httpd.confに規定されている量しかコネクションは張れません。通常150とかそんなもんです。(NIC的には1000くらいまで拡張しても大丈夫なのですが、パフォーマンスが落ちます)
ひとりが30も張ったら、150/30=5人ですよ。ただこれはあくまで同時アクセスなのですが、KeepAliveになってたりするとコネクションはしばらく張られたままになり・・・と恐怖なわけです。
そこで、Apacheのmod、mod_limitipconn を使います。
mod_limitipconn.c – Apache 2.0 port
自分はapache 2.0.52(win32) なので、win32版をダウンロードします。中身はこんな感じ。
+ mod_ipconn.zip
+ mod_ipconn<DIR>
+Readme.txt
+etcetc…
+Release<DIR>
+mod_limitipconn.dll
Releaseの中に入っている mod_limitipconn.dll を使います。これを Apache2modules のディレクトリにコピーします。
後は、httpd.conf を以下のように変更します。
ExtendedStatus On # < - ほとんどの環境でOnになっているはずです。 LoadModule limitipconn_module modulesmod_limitipconn.dll <IfModule mod_limitipconn.c> <location /> # Max Connection 数 8 MaxConnPerIP 8 # MPEG と WMA を制限する OnlyIPLimit audio/mpeg audio/wma # オーディオ系全てを制限する OnlyIPLimit audio/* # 制限しないもの (text) NoIPLimit text/* </location> </IfModule>
こんな感じです。audio/* 等は AapcheのMINE TYPEに依存します。ちなみに、 .htaccess に記載する事もできます。Location は対象となるディレクトリ・・・のはずです。コピペする際には、<>を半角にしてくださいね。
それでは、よきサーバーライフを!