web-dev-qa-db-ja.com

nginxを使用するVarnishは、nginxを使用するよりも優れていますか?

Varnishでのnginxの使用について多くの話があり、その理由がわかりません。 nginxは十分ではありませんか?

NginxにはSSIがあり、リバースプロキシキャッシュがあり、軽量で、SSLがあり、cgi、fpmなどで動作します。

Varnishは同じものを持っていますが、sslもcgiもサポートしていません。

22
Bogdan Cosmin

小さな静的ファイルの場合、nginxよりもワニスが最大5%速いことがわかりました。Apacheの前のワニス、またはWebアプリケーションサーバーの前のワニスは大きな利益になります。しかし、nginxの前では、メリットはごくわずかです(特に、オーバーヘッドと余分な複雑さを考慮に入れると)

14
Shish

まず、明確にする必要があります。Nginxは、すべての機能と複雑さを伴うWebサーバーです。また、キャッシング機能もありますが、これは主な設計目標ではありません。

Varnishはnot Webサーバーです。それはその役割を果たすことはできません(とにかく本当に邪悪なVCLがないわけではありません)。その役割は、別のサーバーによって提供されるコンテンツをキャッシュすることです。必要に応じて、要求または応答を変更できます。

Nginxがトラフィックを処理できる場合は、それで十分です。 nginxが追いつけない場合、容量を増やす1つの方法は、その前にキャッシュを配置し、キャッシュにできるだけ多くの要求を処理させることです。

例として、Apacheを使用して、Webサーバーのクラスターから比較的複雑なPHP Webサイトをいくつか実行します。容量の問題が発生し始めたとき、2台のVarnishサーバーをApacheクラスターVarnishホストは、Apacheバックエンドを気にすることなく、すべての着信要求の85%を処理します。

23
Insyte