この質問は少し主観的かもしれませんが、herokuへのプロキシと遅延の問題のデバッグに役立つ具体的な情報とソリューションを提供します。ヘロクのREST APIバックエンドで静的ファイルを最適に提供する方法
api.example.comでREST APIを公開するSinatra/Mongoを使用して作成したアプリがあります。それはHerokuの杉にある。通常、私はクロスドメインブラウザの苦情を避けるために、apiサブドメインに/ apiへのwwwとプロキシ要求でnginxを介して静的ファイルを提供します。私はラックスペースのクラウドインスタンスを持っているので、フロントエンドをnginxに一時的に置き、プロキシをセットアップします。プロキシ処理の場合、待ち時間はひどいです.3回または4回のリクエストごとに1分以上かかります。そうでない場合は約150msです。 API(browser to api.example.com)に直接行くと、平均待ち時間は〜40msです。私はセットアップが理想的ではないことを知っているが、私はそれが悪いとは思わなかった。
これは部分的にはラックスペースからのプロキシ処理によるものと思われます - サーバーは西海岸にあるかもしれません - アマゾンec2 eastの英雄へ。現時点で私の考えは、アマゾンec2のインスタンスを取得してherokuアプリにプロキシすると問題が緩和されると思いますが、盲目的に推測するのではなく、何とかこれを検証したいと思います。長い待ち時間がどこから来ているのかを判断する合理的な方法はありますか?また、このアプリケーションをどのように構築するかについての他の提案はありますか?私はHerokuの静的なファイルを扱うことができると知っていますが、私のフロントエンドに役立つAPIのアイデアは好きではなく、むしろ互いに独立して拡張できると思います。あなたのAPIを実行するために、Herokuのを使っているので