バージョンアップ情報
Varnish情報
Varnishとは
Varnishは、Webアクセラレーターとして機能するHTTP リバースプロキシサーバです。他のプロキシと比べるとSquidはクライアントサイドのキャッシュプロキシ、Apache-httpdやNginxはWebサーバとしてスタートしたのに対して、VarnishはWebアクセラレーターとして特化しており、非常に高速に動作するように設計されています。
2005年頃にノルウェー最大のタブロイドニュースペーパーカンパニーであるVerdens Gangが、既存のソフトウェア以外のWebキャッシュプロキシのソリューションを求めてVarnishの開発をはじめました。主要開発者は、FreeBSDカーネルのコミッターであるPoul-Henning KampでVarnishのほぼすべての機能に関して彼の見識が生かされています。
Varnishは多くの大規模サイト(Wikipedia、Facebook、Twitter、Vimeo、The New York Times)で利用されており、2012年ではアクセスの多い上位10000のWebサイトの5%がVarnishを利用しているという統計があります。また、ノルウェーにおいては、メジャーなWebサイトのトラフィックの75%がVarnishにより提供されているという統計があります。
主な特徴
Varnishはデータを仮想メモリに保存します。その後のどのデータをメモリ上に配置しておき、何をページアウトしてディスクに書き出すかというタスクはオペレーティングシステムに任せます。その事によってアプリケーションがディスクに書き出すデータをオペレーティングシステムがメモリにキャッシュするような競合状態が解消されます。
Varnishはスレッド型のアーキテクチャとなっており、実際のクライアントからのリクエストには、Varnishの子プロセスによって稼働する1つのワーカースレッドが対応します。通常子プロセスは、数百のスレッドを稼働させます。
Varnishの設定ファイルは、VCL(The Varnish Configuration Language)という独自の言語によって定義を行います。VCLは、CやPerlの文法に似ていて、制御構造をもっており、柔軟に設定を定義することが可能です。
VarnishはHTTPリバースプロキシサーバとしてWebサーバの前段に配置して、クライアントからのリクエストに対してキャッシュしたオブジェクトを返すだけではなく、使い方によっては、下記の機能を提供する事が可能です。
- Webアプリケーションファイアウォール
- DDoS攻撃へのディフェンダー
- ホットリンクを防ぐ役目
- ロードバランサ
- シングルサインオンのゲートウェイ
- 認証と認可のポリシーメカニズムの提供
- HTTPルータ
動作環境
推奨する動作環境は、64 bit バージョンの下記のOSになります。
- Linux の各種ディストリビューション
- FreeBSD
- Solaris (x86のみ)
十分なテストは行われていませんが、下記の環境においても動作します。
- 32bit バージョンの上記OS
- OS X
- NetBSD
- OpenBSD
- Windows(Cygwin)
Varnishのライセンス
Varnishは、BSDライセンスで提供されているオープンソースのソフトウェアです。 BSDライセンスでは無保証であることの明記と著作権およびライセンス条文の表示を条件にコードの自由な改変・頒布が認められています。
製品ダウンロード
オープンソース年間サポートサービス
OpenStandiaではOSSを安心してご利用いただけるように、オープンソース年間サポートサービスをご提供しております。
サポートしているOSSは下記ページをご参照ください。
関連OSS
-
サポート対象
Nginx
エンジンエックス。Apache HTTP Serverに次ぐ利用率で人気急上昇中の高速・高性能Webサーバです。
-
Jetty
ジェティ。100%Javaで開発されたJava Servletコンテナ/Webサーバです。
-
サポート対象
Apache HTTP Server
アパッチエイチティーティーサーバ。世界中で最も人気の高いwebサーバソフトウェアの一つです。