|
||||||||||||||||||||||
| 1 2 次のページ | ||||||||||||||||||||||
| Webシステムの高性能化とキャッシュ | ||||||||||||||||||||||
|
Webシステムの高性能化では、スケールアウト可能な設計を行い利用可能なキャッシュをできる限り活用することが重要です。Webシステム構築で意識しながら利用しなければならないキャッシュは表1の通りです。 |
||||||||||||||||||||||
|
||||||||||||||||||||||
|
表1:キャッシュの種類 |
||||||||||||||||||||||
|
一般に、HTTPキャッシュ、出力キャッシュ、クエリキャッシュの順番で効果が期待できます。キャッシュが活用可能な場合、スケールアウトによりさらに効率の良い高性能化を期待できます。 |
||||||||||||||||||||||
| HTTPキャッシュ | ||||||||||||||||||||||
|
スケールアウトを行う際、リバースプロキシが効果的に導入可能な場合は、Webサーバーを増やすより、リバースプロキシを導入した方が高い効果を得られます(図19)。 ![]() 図19:リバースプロキシを利用したスケールアウト 環境によって設定ファイルを変更する必要がありますが筆者のテスト環境で動作するsquid.confは、リスト5、リスト6のとおりです。 リスト5:squid.confの設定例−SquidサーバーとWebサーバーが別のホストの場合 |
||||||||||||||||||||||
http_port 80
|
||||||||||||||||||||||
|
リスト6:squid.confの設定例−SquidサーバーとWebサーバーが同じホストの場合 |
||||||||||||||||||||||
http_port 80
|
||||||||||||||||||||||
|
キャッシュとログ HTTPレベルでキャッシュさせてしまうと、ログが取れないので困るのではないか?と思われる方がいるかもしれません。実際には、通常のWebアプリケーションでは、ページをキャッシュしたせいでログが取れなくて困ることはほとんどありません。アクセスログ収集用にキャッシュ不可に設定した、小さなイメージファイルをページに埋め込み、そのイメージの読み込みログを解析することにより、ほとんどのアクセスログを収集できるからです。収集できないログは、テキストブラウザなどを利用しているユーザーのログです。しかしイメージファイルを読み込まないブラウザを利用しているユーザーは、ごく少数であると考えられます。アクセスログは、個別のユーザーのアクセスを把握する目的ではなく、統計情報として利用されるため、このようなことで困ることはほとんどないでしょう(商用のアクセス解析サービスでも、そのページにイメージファイル、JavaScript、Javaアプレットを埋め込むことによって、アクセスログを収集し解析しています)。 |
||||||||||||||||||||||
|
1 2 次のページ |
||||||||||||||||||||||
|
書籍紹介 まるごと PostgreSQL! Vol.1
日本での市場シェアNo.1(オープンソースRDBMS部門)データベースソフトPostgreSQLの最新情報を、開発メンバーを含む豪華執筆陣が多面的かつ詳細に解説します。PostgreSQL用クラスタリング/レプリケーションソフト、PostgreSQL⇔Oracle移行、PostgreSQLによる大規模サイト構築法、新バージョンPostgreSQL 8.0先行レビュー、PostgreSQL用.NETデータプロバイダ等々、他では読めない貴重な記事が満載です。発売日:2004/12/08発売 定価:\1,890(本体 \1,800+税) |
||||||||||||||||||||||
|
|
||||||||||||||||||||||
|
||||||||||||||||||||||
|
|
||||||||||||||||||||||
|
||||||||||||||||||||||
|
|
||||||||||||||||||||||
|
||||||||||||||||||||||



