Webサーバーの応答性能を高めるためのツール。Webサーバーが実行する処理の一部を代行し、ブラウザ画面にWebページを表示するまでの時間を短縮するシステムまたはソフトウエアである。多くは専用装置(アプライアンス)として提供されている。

 Webサーバーの役割は、ブラウザからの要求を受け付け、要求されたHTMLファイル(HTMLはWeb用記述言語)やイメージ・データを提供することである。一見単純だが、細かく見ると応答を返すまでにいくつかの処理を実行している。

 まず、ブラウザからのアクセス要求を受け付ける際には、TCPコネクションを確立する。TCPコネクションは、Webの通信プロトコルHTTPなどでデータをやり取りするための仮想的な通信路である。HTMLファイル、Webページに含まれるイメージ・データなど一つひとつを配信するのに、個別のTCPコネクションを確立・切断する。

 コネクションを確立したら、要求されたファイルをディスクから取り出し、配信する。Webページを動的に生成する場合にはページ生成処理やデータベース・アクセスが頻繁に発生する。

 それぞれの処理の負荷は、それほど重くない。しかしWebサーバーには同時に大量のアクセスが押し寄せるため、小さな負荷が積もり積もって膨大な処理負荷になることが多い。アクセス数が増えれば、WebサーバーでHTTPプロセスが同時に複数稼働し、それだけで負荷が高まる。

 そこで、これらの処理の一部を外部装置に任せることで、Webサーバーの処理負荷を軽減し、応答性能を高めようというアイデアが生み出された。これがWebアクセラレータである。アクセラレータを導入するまでもなく、単純にWebサーバーを増設してサイトの性能を高めることは可能だ。しかし、サーバー数を2倍に増やしても応答時間を2分の1に短縮できるとは限らない。アクセラレータは200万円程度からとそれほど高価なものではなく、導入が容易で手軽に応答性能を高められる。しかも導入後しばらくは、アクセス数が増えてもサーバー増設の手間をかけずにすむようになる。

 Webアクセラレータには、代行する機能の違いによってさまざまな種類がある。例えば米レッドライン・ネットワークスの「T|X Web I/O Accelerators」は多数のTCPコネクションの確立・切断の処理を代行する専用装置。同時稼働するHTTPプロセスの数を減らす効果もある。

 キャッシュ・サーバーもWebアクセラレータの一種。ほかのユーザーに返信したデータを一時的に蓄積し、Webサーバーに代わって応答を返す。動的に生成したWebページやJavaアプリケーションで生成したオブジェクトをキャッシュするツールもある。コンテンツを圧縮し通信時間を短くするツールもWebアクセラレータに分類できる。

(河井)