商用データベースに匹敵するWebシステム構築手法 8

HTTPキャッシュのベンチマーク結果

HTTPキャッシュのベンチマーク結果

   図26がベンチマークの結果です。


● Squid+Apache

Requests per second: 2052.85 [#/sec] (mean)
Time per request: 48.713 [ms] (mean)
Time per request: 0.487 [ms] (mean, across all concurrent requests)
Transfer rate: 10737.22 [Kbytes/sec] received

● Apache

Requests per second: 2093.68 [#/sec] (mean)
Time per request: 47.763 [ms] (mean)
Time per request: 0.478 [ms] (mean, across all concurrent requests)
Transfer rate: 10961.48 [Kbytes/sec] received

● Apache+PHP

Requests per second: 1522.26 [#/sec] (mean)
Time per request: 65.692 [ms] (mean)
Time per request: 0.657 [ms] (mean, across all concurrent requests)
Transfer rate: 7878.63 [Kbytes/sec] received

● Apache+PHP+PostgreSQL

Requests per second: 898.66 [#/sec] (mean)
Time per request: 111.276 [ms] (mean)
Time per request: 1.113 [ms] (mean, across all concurrent requests)
Transfer rate: 4619.31 [Kbytes/sec] received

● Squid+Apache+PHP+PostgreSQL

Requests per second: 2090.11 [#/sec] (mean)
Time per request: 47.844 [ms] (mean)
Time per request: 0.478 [ms] (mean, across all concurrent requests)
Transfer rate: 10935.46 [Kbytes/sec] received
図26:ベンチマーク結果(abコマンド出力の一部)


   Squid+Apache+PHP+PostgreSQLはSquid+Apacheと 同じ結果となり、リバースプロキシを利用しない場合と比べて2倍強の性能を達成しています。たいした効果ではないように思えるかもしれませんが、より複雑 なページをデータベースから自動生成する実際のシステムでは、リバースプロキシの導入により簡単に10倍以上の性能が達成できることも少なくありません。

   しかしリバースプロキシも良いところばかりではありません。「クエリキャッシュの効果」と同様に、キャッシュヒット率が低いとリバースプロキシの導 入により、かえって処理が遅くなる場合もあります。キャッシュミスが多くなると考えられる場合、リバースプロキシにキャッシュさせない、またはリバースプ ロキシを使用しないようにするなどの対処が必要です。キャッシュサーバーの設定やハードウェアスペックが十分でない場合、時間が経過するとリバースプロキ シからのレスポンスが遅くなるなどの問題が発生する場合もあります。

   どのようなキャッシュシステムでも同じですが、有効に動作するケースとしないケースがあります。Webシステムを設計する際には、スケールアウトを考慮することはもちろん、キャッシュが有効に活用できる設計を行うことも重要です。

この記事をシェアしてください

人気記事トップ10

人気記事ランキングをもっと見る