Apacheが遅い(応答性能が低い)。.htaccessのdeny fromが原因。
Apacheが遅い(応答性能が低い)。
いろいろ情報を見ていると、Requests per secondが5000とか超えるサーバーもあるみたいだが、こちらで利用しているテスト用サーバーではRequests per secondは300程度。サーバーのスペックが低いとはいえ、ずいぶん遅いので原因を調査してみることにした。
どうやら、.htaccessにdeny fromをIPアドレスではなく、ドメイン名などを指定しているのが原因のようだ。
order allow,deny
allow from all
deny from aaaa.bbbb.com
deny from ccc.ddd.com
よく考えれば、接続元の逆引きが必要になるのでApacheが処理に時間を要するのも当然でした。 (自業自得の設定でした。。)
- .htaccess deny fromによる処理性能
・.htaccess設置 deny fromでドメイン指定名を指定
Requests per second: 344.10 [#/sec] (mean)
・.htaccess設置 deny fromのドメイン名を指定を抜いたもの
Requests per second: 2358.35 [#/sec] (mean)
・.htaccess未設置
Requests per second: 2653.78 [#/sec] (mean)
全然結果が変わります。。
- 参考:サーバー環境
CPU: Intel(R) Pentium(R) 4 CPU 2.80GHz
Mem:1GB
OS:CentOS release 5 (Final)