2014-06-13 80 views
0

我正在使用使用azure緩存的node.js express應用程序。我已經將服務部署到了Azure,並且我注意到get和put rquests的延遲爲50毫秒左右。node.js azure緩存延遲

我使用的方法是:

var time1, time2; 
    var start = Date.now(); 
    var cacheObject = this.cache; 
    cacheObject.put('test1', { first: 'Jane', last: 'Doe' }, function (error) { 
    if (error) throw error; 
    time1= Date.now() - start; 
    start = Date.now(); 
    cacheObject.get('test1', function (error, data) { 
    if (error) throw error; 
     console.log('Data from cache:' + data); 
     time2 = (Date.now()-start); 
     res.send({t1: time1, t2: time2}); 

    }); 
}); 

put的時間由time1time2表示代表用於get的時間。

從閱讀互聯網上的其他文章,我明白延遲應該在幾個毫秒的順序,但50毫秒似乎有點高。我正確使用這些方法嗎?我需要在管理門戶上設置哪些特殊設置?或者預計會有50毫秒的延遲?

回答

0

一些明顯的事情,首先要檢查:

  1. 在同一個區域作爲緩存運行客戶端代碼?可能的最小延遲是網絡往返時間,可能在地區之間大約爲50ms。

  2. Node.js Date.now()的精度足以測量少量的毫秒數嗎?我不熟悉Node.js,但是在.NET中,您應該使用StopWatch類來進行計時,而不是使用DateTime.Now。