我正在尝试使用gcloud-node调用Google Datastore,并且对于非常简单的查询,响应时间始终约为400毫秒。Google AppEngine 状态显示该服务目前响应大约 10 毫秒,但我从未低于 200 毫秒。
我尝试在Google Compute实例和本地运行,它没有任何显着差异(我不在Google AppEngine上运行)。
是我做错了什么,还是数据存储真的这么慢?
这是我用来测试性能的一个简单程序:
var gcloud = require('gcloud');
var dataset = gcloud.datastore.dataset({
projectId: 'myProject',
keyFilename: 'key.json'
});
var calls = 0;
for (var i = 0; i < 10; i++) {
var call = 'get' + calls++;
console.time(call);
dataset.get(dataset.key(['Kind', 'Name']),
(function(call) {
return function(err, entities, nextQuery) {
if (err) { console.log(err); }
console.timeEnd(call);
}
})(call)
)
}
我得到以下输出:
get1: 654ms
get2: 656ms
get4: 657ms
get0: 668ms
get3: 793ms
get5: 916ms
get6: 919ms
get7: 933ms
get8: 952ms
get9: 1055ms
我尝试过谷歌搜索数据存储性能,但除了可追溯到 2011 年的投诉外,我发现的很少。
感谢任何指点!
架构差异,目前对 Google Cloud 数据存储的操作预计比在 App Engine 数据存储上的类似操作花费更长的时间(因此"App Engine 系统状态"页面并不直接适用)。
我们正在积极努力缩小延迟差距。有关更新,请在我们的问题跟踪器上关注此问题。