requestパッケージで同時にリクエストをいくつ行うことができますか? リクエストを受信して正常に処理されたことを確認するたびに、すべてのリクエストからデータが返されることを期待しています。このハードウェアまたはOSはOSに依存していますか?どこから探し始めますか?ノードjsにあります。 「リクエスト」パッケージを使用して同時に送信できるリクエスト数
答えて
最近のバージョンのnode.jsでは、発信要求に制限が適用されていません(古いバージョンの場合)。文字通り同時に数百万の発信接続を作成しようとしていた場合は、おそらくOS特有のnode.jsサーバーの上限に達するでしょう。しかし、実際の制限は、ターゲットホストによって決定される可能性が高くなります。
すべてのリクエストが同じホストに送信されているため、要求を行うサーバーによって制限される可能性が高くなります。新しい接続の拒否を開始する前に、同時に複数の同時リクエストを同時に実行できる制限があります。その数は、サーバーの構成と構築方法によって異なります。 http://www.google.com
の場合、巨大なサーバーファームを持ち、すべての要求が均等に分散されているため、数はおそらく数千または数百万の要求になります。シンプルなシングルCPUサーバの場合、その制限は明らかにそれよりもはるかに小さくなります。
さらに、とにかく一度にすべての作業を行うことができないため、単一のCPUサーバーに多数の要求を送信することはほとんどありません。
したがって、特定のターゲットホストに最適なものを知りたい場合は、調整可能なテストハーネスを設定して、 100、200、500、1000を一度に確認し、平均応答時間とエラーが発生した場所(ある場合)を確認します。
このタイプのテストを実行したくない場合は、完全に最適化しようとしない、合理的に安全な選択は、同時に5つ以上のリクエストを同時に行うことではありません。
一度に飛行中にN個のリクエストを管理するには、自分で何かを構築するか、それを行う既存のライブラリの1つを使用できます。 Bluebird約束ライブラリはPromise.map()
のようないくつかの関数にはconcurrency
オプションがあります。これはあなたが設定した並行性の値のために自動的に行います。 async libraryにも同様のものがあります。一度に飛行しているどのように多くの要求を管理するために、またはそれのためのテストハーネスを構築するためのコードを作り上げ、より具体的な助けが必要な場合は、すべての要求のソースのために私達にあなたのコードの一部を示してください
そのことがどのように機能するか(何が巨大なリクエストであるか、URLのソースが何であるか)がわかります。
@jimmyscray - これはあなたの質問に答えましたか? – jfriend00
残念ながら、それはしませんでした。私はそこにいくつかの要因があることを知りました。 1つは「プール」接続のしきい値(これはアプリケーションレベルにあると思います)です。私のLinuxサーバには、接続できる量を制限するポート範囲もあります。最後に、私のスクリプトが割り当てることができるメモリの量が重要です。私はクライアントには同程度の要素があると理解していますが、クライアントに無限の接続があるという前提を設定しています –
@JimmyScray - あなたの特定の状況に関する詳細はほとんど含まれていないので、 。あなたが知りたいこととあなたのローカル設定が何であるかについてより詳細な情報を含めると、より具体的な回答が得られます。たとえば、すべての接続が同じホストまたは別のホストに対して行われている場合は、違いが生じます。そしてもちろん、あなたが住んでいなければならないリソースの限界があります(メモリ、ソケットなど)。これはしばしば設定とOSに固有なので、特定の数値を与えることは不可能です。 – jfriend00
- 1. リクエストでフォームパラメータに変数を送信するHTTP POSTノードjs
- 2. 複数のAJAXリクエストを同時に使用できますか?
- 3. ウィンドウアンロードでリクエストを送信する時間がありません
- 4. ノードjsを使用して複数のリクエスト(?)オブジェクトをブラウザに送信する方法
- 5. Pythonで同時に2つのリクエストを送信する方法
- 6. Pythonリクエストを使用してフォームを送信できません
- 7. javaでソケットを使用してサーバにリクエストを送信する
- 8. HttpUrlConnectionを使用してサーバーにリクエストを送信します。
- 9. リクエストを使用してヘッダー付きのPATCHリクエストを送信する方法
- 10. POSTリクエスト(リクエストとpython3)を使用して連絡フォームを送信
- 11. curl phpオブジェクトを使用して複数のリクエストを送信できますか?
- 12. Pythonリクエストを使用してSOAPリクエストを送信
- 13. UnityWebRequestを使用してPUTリクエストを送信するには?
- 14. Alamofireを使用してAPIにPOSTリクエストを送信する
- 15. Javaを使用してGETリクエストを送信するには
- 16. lighttpdを使用してTCPソケットにリクエストを送信する
- 17. ボタンとjqueryでノードにDELETEリクエストを送信するには?
- 18. 複数のHTTPリクエストを同時にスレッドで使用する
- 19. getJsonをリクエストして入力フォームを同時に送信する方法
- 20. 同時リクエストに対してHttpClientキャッシュを使用できますか?
- 21. ノードjs:リクエストにmysqlの結果を割り当てます。
- 22. javaクライアントで@POSTリクエストを使用してパラメータを送信する
- 23. SOAPでSOAP SOAPリクエストを使用してSOAPを送信する
- 24. ASIHTTPRequestを使用してiPhoneでPOSTリクエストを送信する。1.6.2
- 25. Angular/Railsを使用してparamsでhttpリクエストを送信する
- 26. 同時に100kのHTTPリクエストを受信
- 27. Javaを使用してXMLRPCリクエストを送信します。
- 28. ノード+ ES6:非同期リクエストでPromise.allを使用するには?
- 29. ノード非同期とリクエスト、非同期で待機せずにリクエストが送信されない
- 30. pythonでhttpリクエストを送信して受信し、セッションクッキーを送信する必要があります。
すべてのリクエストは同じホストに送信されますか?そして、あなたは一度にどれくらい多くを送りますか?そして、どんな結果が得られていますか?この質問は少し理論的です。特定の状況をより直接的に解決できるように、具体的な詳細を記入してください。 – jfriend00
これは何を意味していますか?***要求が成功裏に完了したことを確認して、すべての要求からデータが返ってくることを期待しています。このハードウェアまたはOSに依存していますか?***送信するリクエストは何らかの応答を得るか、ホストに接続できないというエラーを返す必要があります。それは決してOSに依存しません。サーバーに接続する際に何らかのエラーが発生するか、独自のコードが何らかのエラーを無視しない限り、サーバーからの応答が得られます。 – jfriend00
リクエストはすべて同じホストに送信されます。私は数百万を同時に送って、それぞれの反応を処理したいので、私のプログラムが応答を「待つ」必要があります。私が何回作ることができ、待つことができるかには限界があります。 –