gcloud-node を使用して Google Datastore を呼び出そうとしていますが、非常に単純なクエリに対して一貫して約 400 ミリ秒の応答時間を取得しています。Google AppEngine のステータスによると、サービスは現在約 10 ミリ秒で応答していますが、200 ミリ秒を下回ることはありません。
Google Compute インスタンスとローカルの両方で実行してみましたが、大きな違いはありません (Google AppEngine では実行していません)。
私のやり方が間違っているのでしょうか、それとも Datastore が本当に遅いのでしょうか?
パフォーマンスをテストするために使用している簡単なプログラムを次に示します。
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
Datastore のパフォーマンスをグーグルで調べてみましたが、2011 年にさかのぼる苦情を除けば、ほとんど見つかりません。
ご指摘ありがとうございます。