2011-06-01 168 views
7

我的node.js服務器使用最新的(0.4.8)http.request調用來調用另一個服務器。Node.js的http.request的性能如何?它可以處理多少個併發請求?

我使用jMeter來運行負載測試。每秒有50-100個併發線程,循環1000次。

當腳本繼續運行時,我觀察到一些速度變慢。我監測網絡吞吐量相當低,CPU &內存也很低。而在另一臺服務器上,日誌顯示他們的迴應很快。 (毫秒)。

但是,我的node.js服務器中的console.log顯示http.request響應時間從200-300 ms開始,到2000-3000 ms。

我不確定是否有限制的併發http.request我可以做。

請指教。


巨大測試後,我認爲是平均約300-400請求/秒爲http.request與確定服務器,maxSockets = 1024。通常,我看到的速度(連接到不同的網站)的約每個請求80-100毫秒。

回答

10

最大併發連接數應取決於您的硬件。 This article表示node.js可以支持數萬個併發連接。但是,大多數Linux系統只允許您在默認情況下同時打開1024個文件/套接字。在這種情況下,您可以以root身份運行,然後將ulimit設置爲大數字(例如,100000),然後使用硬件運行壓力測試以獲得準確的併發連接容量。

+4

獲取套接字號:ulimit -n將套接字號設置爲10240:ulimit -n 10240 – sky100 2011-06-01 01:36:04

相關問題