2011-12-19 6 views
0

上のサーバに多数の要求を送信:ローカルホスト上のサーバーを作成し私は、次のNode.jsいる

var tempServer=require("./myHttp"); 

tempServer.startServer(8008,{'/fun1':fun1 , '/fun2': fun2 , '/fun3':fun3 , '/fun4':fun4},"www"); 

:8008。

と私は私のブラウザでURL行に以下を入力した場合:

localhost:http://localhost:8008/fun2 

それがfun2関数を呼び出しますし、必要なものを実行します。

ことを言った、

にはどうすればtempServerに(10000と言う)多数の要求

のための呼び出しをシミュレートするスクリプト機能(fun2)を書くことができますか?

ご協力いただければ幸いです!

+0

自分自身にアクセスするサーバーがありませんか? –

+0

いいえ、私はちょうどサーバーへの多数の呼び出しをシミュレートするスクリプトが必要です... – Itzik984

+0

あなたの 'fun2'関数は' tempServer'から呼び出され、 'tempServer'を呼び出す必要があります。私は正しい?私の場合、それは意味をなさない... –

答えて

0

あなたは、ノード内fun2から万の要求を発行するスクリプトに興味万回のHTTP2経由fun2への呼び出しや ていますか?それはノード内にあり、あなたはおそらく、すべてのコードは、シーケンシャルしかし イベントとして書かれている知っているように非同期で実行されている場合は

http://nodejs.org/docs/v0.4.7/api/all.html#events.EventEmitter

と並行して呼び出しを発行するためのインスピレーションとして、この例を参照してください:

機能をディスパッチするため持つEventEmitterを確認してくださいが追いついた上で呼び出す

http://ricochen.wordpress.com/2011/10/15/node-js-example-2-parallel-processing/

・ホープ、このことができます。

エドモン

1

あなたはあなたのラップトップでこれを試すことができますが、お使いのコンピュータが本当に同時に一時サーバー(あるいはどこ)への万件のリクエストを作成することができませんことを見つけるだろう。現代のほとんどのマシンは、1000を超える同時接続数をもっています。

あなたは確かに別の後にこの1つの接続を行いますコードで何かを作成することができますが、これは、あなたが立ち上げと1秒あたりの要求数をランプダウン真の負荷テストと同じではありません。あなたはすぐにこれがIOと接続境界であり、アプリケーションの真のテストではないことがわかります。

サーバーのベンチマーク/ストレスをかけようとしている場合は、nodejitsuやnodester(両方の無料サービス)のようにインターネットにアクセス可能なボックスまたはサービスにサーバーを配置してから、それ以外の場合は)サーバーのURLにヒットします。これがあなたがやっていることなのかどうかは言わないが、これはロードとストレステストを行う通常の方法だ。

過去に私が使用していた2社は、サーバーへの同時ユーザー要求数を取得するためにLoad ImpactBlitz.ioです。 10,000ユーザーの場合、少しお金を払う必要がありますが、料金はあまり高くありません。

また、あなたは、サーバー/サービス自体とどのようにそれがストレス下に動作を監視支援するNew Relicからライブラリに見てみたいことがあります。アプリケーションのボトルネックを見つけるのに役立つ優れた機能があります。

これは、あなたが探していたものよりも少し多いかもしれませんが、役立つことを願っています。私がマークから外れているなら、私に知らせてください。私はあなたが探しているものに近づくようにこれを修正してうれしく思います。

関連する問題