我试图创建一个基于它的NodeJS查询一个Azure Table中存储有1000个条目的web应用程序。 (我正在使用Azure跟踪订阅)如何降低Azure Table中存储延迟
实现的逻辑使用分区键和行键检索一个独特的实体,所以它应该非常快,并受Troy Hunt发布的blog的启发我预计延迟时间低于7毫秒。
app.get('/pick', function (req, res, next) {
var parKey = req.param('parKey');
var rowKey = req.param('rowKey');
var getRes, startTime, endTime, tableSvc;
tableSvc = azure.createTableService().withFilter(retryOperations);
//Timestamp before accessing table storage
startTime = new Date().getTime();
tableSvc.retrieveEntity('lookupTable01', parKey, rowKey,
function (error, result, response) {
if (!error) {
//Timestamp after returning the result
endTime = new Date().getTime();
getRes = JSON.stringify(result);
res.send("found in " + (endTime - startTime) + " ms " + getRes);
} else {
//Timestamp after returnung an error
endTime = new Date().getTime();
getRes = JSON.stringify(error);
res.send("Error in " + (endTime - startTime) + " ms " + getRes);
}
})
我已在相同的西欧数据中心中设置了Web应用程序服务器和存储帐户以获得最佳结果。然而,最低延迟被证明是47毫秒(不包括网络延迟)
我也试图在美国东部的数据中心相同的设置,发现几乎相同的结果。
这将真正帮助,如果你编辑的问题,以显示你的代码。 –