2015-09-10 54 views
0

所以我在node.js中是瞎搞,並運行此代碼:

var http = require("http"); 

function get() { 
    var headers = { 
     'Accept-Encoding': 'gzip' 
    }; 
    var startedAt = new Date().getTime(); 
    for (var i = 0; i < 1; i++) 
     http.get({ 
      host: "www.example.net", 
      path: "/catalog/", 
      header: headers 
     }, function (response) { 
      var body; 
      response.on('data', function (d) {}); 
      response.on('end', function (e) { 
       console.log(new Date().getTime() - startedAt); 
      }); 
     }); 
} 
get() 

我發現這幾乎是3倍比GET要求對谷歌Chrome擴展較慢。我已經完全複製了標題,但速度仍然差不多有100毫秒。

任何想法如何加速?

回答

0

我找到了50ms /請求與你相同的邏輯時間,所以我會假設你正在運行這個循環多次,並取平均。如果是這種情況,那麼你可能運行的節點版本是< 0.12,而http.globalAgent.maxSockets的默認值是5(在你的情況下,它一次只允許5個併發連接)。 嘗試設置http.globalAgent.maxSockets = Infinity;,因爲該設置位於當前版本的節點中。