2

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 年にさかのぼる苦情を除けば、ほとんど見つかりません。

ご指摘ありがとうございます。

4

1 に答える 1

1

現在、Google Cloud Datastore での操作は、アーキテクチャの違いにより、App Engine Datastore での類似の操作よりも時間がかかることが予想されます (そのため、App Engine システム ステータスページは直接適用されません)。

私たちは、レイテンシのギャップを減らすことに積極的に取り組んでいます。最新情報については、 Issue Tracker でこの問題をフォローしてください。

于 2014-11-25T18:09:27.767 に答える