apacheサーバからの送信速度がやたら低くなる問題
apache2.0.55でwebサーバを稼働させているのですが、httpでの送信時のみ、異常にスループットが低下する(1対1の転送で300〜400KByte/sec)問題に直面してました。
- Windowsファイル共有やFTPでの転送では十分なパフォーマンスが得られている
- 上記より、NICにも問題はない
- 他のサーバ(別機種、別バージョンのapache)では良い成績が出ている
- WAN、LANいずれからもhttpの転送速度が低い(ルータ等の帯域制御ではなさそう)
結論としては、apache 設定ファイルの EnableMMAP を off とする(デフォルトでは未指定=on)ことで解決♪(下記記述を見つけるまで数時間かかったorz)
参考ドキュメント
結構希な条件だったのかもしれないけど、マルチプロセッサ(HTとか)のサーバでパフォーマンスでない場面に困っているときは、試す価値あるかも。
・・・まあ、この解決に至るまでに、NIC設定見直し、RWIN調整、ストレージチューニング、不要な apache MOD の解除など、さまざまな箇所をチェックして調整する結果になったので、むしろこの問題が発生したおかげでサーバを全体的にチューニングすることが出来たという皮肉な結果にw
参考までに当方の環境
- 筐体:DELL PowerEdge SC430
- CPU:Pentium4 521(2.80GHz、1MB L2キャッシュ)
- メモリ:512MB
- HDD:SATA RAID 1(Mirroring)
- NIC:Intel PRO/100 S Server Adapter(i82550搭載) x 2(ALB/RLB)
- OS:Windows 2000 Server
- apache バージョン:2.0.55