8

TL / DR:私の主な質問:NGinxをDjango / Gunicorn / Cedar / PostgresSqlアプリに追加してみる価値はありますか、それともHerokuはこの種のパフォーマンスの向上をもたらしますか?

Cedarのドキュメント(https://devcenter.heroku.com/articles/cedar)には、cedarがリバースプロキシをサポートしていないことが明記されています。「CedarにはVarnishなどのリバースプロキシキャッシュが含まれておらず、開発者がニーズに最適なCDNソリューションを選択できるようにすることを望んでいます。」

ルーティングの記事(https://devcenter.heroku.com/articles/http-routing#gzipped-responses)でも、nginxは自動的に実行されないことが指定されています。'Cedarアプリへのリクエストは、アプリケーションサーバーに対して直接行われるため– nginxのようなHTTPサーバーを介してプロキシされない–応答の圧縮はアプリケーション内で実行する必要があります。」

ただし、Pythonのよくある質問では、別の言い方をしています。https ://devcenter.heroku.com/articles/python-faq#do-python-applications-run-behind-nginx "いいえ。リバースプロキシを使用する必要はありません。 Heroku Cloud Platformは、これらのサーバーが通常行うすべてのことを処理するためです。

アプリケーションは、HTTPリクエストに応答するPythonサーバーを提供するだけです。Gunicorn、Gevent、およびEventletは優れたオプションです。

Webサーバーはアプリケーションに組み込まれているため、どの環境でもまったく同じコードを簡単にテストおよびデバッグできます。この開発と本番の同等性により、開発サイクル中の問題のトラブルシューティングが容易になります。」

Herokuはリバースプロキシの利点のいくつかを処理しますが、圧縮は処理しないように思えます。本当?

4

1 に答える 1

5

Herokuサポートからの返信:

スタックにnginxを追加することはお勧めしません。また、Herokuはそのレイヤーを提供しません。ただし、応答をgzipで圧縮する場合は、アプリケーションで応答をgzipで圧縮する必要があります。これは、多くの場合、アプリケーションフレームワーク(Ruby's Rackなど)でミドルウェアレイヤーとして処理されます。gzipは非常に高速であり、これによってリクエストに大きな遅延が追加されることはありません。

これは、Herokuでリバースプロキシ機能のためにNginxを実行する必要がないことを確認します。

于 2012-10-15T04:17:50.157 に答える