0

私は Heroku について学んだばかりで、試してみるのがとても楽しみでした。Node.js 言語でデモをすばやく組み立てたところ、問題に遭遇しました。アプリケーションをローカルで実行している場合、Apache ベンチマークは約 3500 リクエスト/秒を出力しますが、クラウド上では 10 リクエスト/秒に低下し、ネットワーク レイテンシに基づいて増減しません。これが 1 時間あたり 5 セントを要求しているパフォーマンスであるとは信じられず、私のアプリケーションがマルチスレッド化されていない可能性が非常に高いです。

これは私のcode.jsです: http://pastebin.com/hyM47Ue7

Heroku で「実行」(より高速) するには、どのような構成を適用する必要がありますか? または、node.js 用に他のどの Web サーバーを使用できますか?

このトピックに関するすべての回答に感謝します。

4

2 に答える 2

0

あなたの小さな例はマルチスレッドではありません。(自分のマシンでさえありません。)しかし、dyno で複数のコアを利用できるため、dyno の追加料金をすぐに支払う必要はありません。この回答を参照してください

その答えを繰り返すには:スループットを向上させる複数のプロセスを使用するためのノードソリューションは、(組み込みの)クラスターモジュールを使用することです。

問題なく heroku dyno から 10 リクエスト/秒を超えるリクエストを簡単に取得できると思います。たとえば、次のベンチマークを参照してください。

http://openhood.com/ruby/node/heroku/sinatra/mongo_mapper/unicorn/express/mongoose/cluster/2011/06/14/benchmark-ruby-versus-node-js/

ベンチマークには何を使用しますか?

于 2012-08-20T10:03:21.370 に答える
0

そうです、 Web dynosを追加料金を支払うまで、Web サーバーはマルチスレッドではありません。Heroku はプロトタイピングに便利です。時間の金銭的価値に応じて、EC2 を直接使用する代わりに、それを使用してスケーラブルなサーバーをセットアップする場合と使用しない場合があります。

于 2012-08-20T03:02:56.503 に答える