この質問は少し主観的かもしれませんが、herokuへのプロキシとレイテンシーの問題のデバッグに対するいくつかの貴重な具体的な情報と解決策を提供すると思います。
api.example.comでRESTAPIを公開するSinatra/Mongoを使用して構築されたアプリがあります。HerokuCedarにあります。通常、私はwwwでnginxを介して静的ファイルを提供し、/ apiへのプロキシリクエストをapiサブドメインに提供して、クロスドメインブラウザの苦情を回避します。ラックスペースクラウドインスタンスがあるので、フロントエンドを一時的にnginxに配置し、プロキシをセットアップします。現在、プロキシの場合のレイテンシはひどいものです。3または4リクエストごとに、1分以上かかります。それ以外の場合は、約150ミリ秒かかります。API(ブラウザからapi.example.com)に直接アクセスする場合、平均遅延は約40ミリ秒です。セットアップが理想的ではないことはわかっていますが、それほど悪いとは思っていませんでした。
これは、ラックスペース(サーバーは西海岸にある可能性があります)からAmazonec2eastのherokuへのプロキシが原因の1つだと思います。現時点での私の考えは、amazon ec2インスタンスを取得し、それをherokuアプリにプロキシすることで問題が軽減されると考えていますが、盲目的に推測するのではなく、何らかの方法でこれを検証したいと思います(これもより高価です)。長い遅延がどこから来ているのかを判断するための合理的な方法はありますか?また、このアプリケーションを構成する方法に関する他の提案はありますか?Herokuで静的ファイルを提供できることは知っていますが、APIがフロントエンドにサービスを提供するという考えは好きではありません。むしろ、これらが互いに独立してスケーリングできることを望んでいます。