トップ OSS紹介 Varnish

Varnish

NRIのOpenStandiaが提供するVarnish最新情報

バージョンアップ情報

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
    サポート対象

    Nginx

    エンジンエックス。Apache HTTP Serverに次ぐ利用率で人気急上昇中の高速・高性能Webサーバです。

  • Jetty

    Jetty

    ジェティ。100%Javaで開発されたJava Servletコンテナ/Webサーバです。

  • Apache HTTP Server
    サポート対象

    Apache HTTP Server

    アパッチエイチティーティーサーバ。世界中で最も人気の高いwebサーバソフトウェアの一つです。

オープンソースに関する様々な課題、OpenStandiaがまるごと解決します。
下記コンテンツも
あわせてご確認ください。