2017-07-20 4 views
0

私が2に開いたソケットの数をURLのリストをクロールする要求モジュールを使用したい 制限しています:Node内の現在開いているソケットの数を取得する方法は?

var req = request.defaults({ 
    forever: true, 
    pool: {maxSockets: 1} 
}); 

req(options, function(error, response, body) { 

... code ... 

done(); 

ただし、URLの配列を超えるループして新しいを発行するときそれぞれに要求する - それは動作していないようです。

オープンソケットの現在の数をテストする方法はありますか?

答えて

1

私は同じ起源(host:port)への同時要求の数を制限http.Agent.maxSocketsからmaxSocketsマップ、と信じています。 requestの開発者から

This commentは、同じことを示唆している:

実際、プーリングは、エージェントがコアに渡される制御します。各エージェントは、すべてのホストを保持し、maxSocketsを絞るホスト

ごと言い換えれば、あなたは一般的に同時要求の数を制限するために使用することはできません。そのためには、たとえばlimiterまたはasync.queueなどの外部ソリューションを使用する必要があります。

関連する問題