1

他の 2 つのサービスを使用する JSON サービスを構築しましたが、それぞれにある程度の待ち時間があり、この依存関係の結果として、各リクエストが完了するまでに最大 800 ミリ秒かかる場合があります。

私が Node.js を使用した主な理由の 1 つは、イベント化された IO のためでした。遅いリクエストが終了しているので、新しいリクエストをスムーズに処理し、ハングしないようにしたい.

サービスをテストし、サービスが Heorku でどのように実行されるかについて信頼できるメトリックを取得するにはどうすればよいですか?依存している他のサービスでクエリの制限に達したくないため、これを理解するのは困難です。サービスが受け入れる同時要求の数は? この数を最大化するにはどうすればよいですか?

さらに、Node.js がこのシナリオで、たとえば Rails よりも優れたパフォーマンスを提供してくれるかどうかについて、フィードバックが欲しいです。

(ああ、そして...サービスを展開するのにHerokuは良い選択ですか?申し訳ありません..私はNode.jsは初めてです。)

どうもありがとう。

4

1 に答える 1

2

まず、メモリ セッションを使用するのではなく、状態を共有するために DB セッション、Memcached または Redis セッションを使用する必要があります。

次に、遅延したプロセスを分離し、ワーカー キューworker processを使用して遅延したジョブを追加およびフェッチする必要があります。kueであるキューとして Redis を使用するか、他のメッセージング キューを使用することも良い代替手段です。

第 3 に、ノード コードでノンブロッキングのままであることを確認してください。process.nextTickが鍵です。


Herokuのアドオンの 1 つであるBlitzを使用して、多数の同時リクエストをテストできます。

于 2012-10-12T01:13:21.337 に答える