0

1秒あたりのリクエスト数(たとえば1000)を持つnode.jsサービスを開発しています。応答データの重みが少し大きく、クライアントとの接続が非常に遅く、応答が返送されるまでに最大1秒かかると想像してみてください。クライアントに。

質問#1-プロキシバッファリングがなかった場合、これはブロック操作であるため、node.jsがすべての応答を返すのに1000秒かかると思いますね。

質問#2-nginxバッファー(および一般的なバッファー)はどのように機能しますか?バッファへの1000個の応答すべてを受信して​​(RAMに問題がない場合)、それらをクライアントにフラッシュすることはできますか?proxy_buffersの制限は何ですか?バッファの数をそれぞれ10001Kに設定できますか?

目標は、node.jsをブロックせず、他のシステムに配信させるために、すべての応答をできるだけ早くnode.jsからフラッシュすることです。

ありがとう!

4

1 に答える 1

2

もちろん、応答の送信は非ブロッキング操作です。ノードは単にネットワークドライバーにチャンクを渡し、他のすべての作業はOSに任せます。

応答の送信がブロッキング操作である場合、ノードベースのサービスをDoSするために、ネットワークが人為的に機能しなくなった1台のPCのみが必要になります。

于 2012-08-17T06:41:38.857 に答える