1

アプリを HRD に移行していますが、現在約 3 日です。また、一時停止と再開を試みました。まだ「コピー」段階です。データストアの読み取り操作が増加し、課金されていることがわかります。

また、http://code.google.com/p/googleappengine/issues/entry? template=Production%20issueで問題を 報告しました。

私はまだ問題に対する回答を受け取っていません。どのくらい待つべきですか?

-アスワス

4

1 に答える 1

0

アプリケーションの移行時に同様の問題が発生しました。最終的に、許可されている数を超えるインデックスを使用しているエンティティがいくつかあることが判明しました(5000だと思います)。2011 年 11 月まで、App Engine は5000 のインデックス エントリ/エンティティ制限を適用していませんでした。これは修正され、制限を超えるすべての既存のエンティティ キーは古い動作に引き継がれました。HRD への移行によりキーが変更されるため、制限を超えている場合は、エンティティの数を減らす必要があります。

App Engine がジグザグ マージを使用して 2 つの個別のクエリの結果をマージし始めたため、可能だったインデックスを削除して移行を修正しました。インデックスの例:

- kind: Product
  properties:
  - name: name
  - name: tags
  - name: tags
  - name: tags

次のように変更できます。

- kind: Product
  properties:
  - name: name
  - name: tags

移行を修正するために提案された他の解決策は次のとおりです。

  • 不均衡な名前空間。5000 個の名前空間を使用しているが、エンティティの 99% が 1 つの名前空間にある場合、ツールは名前空間ごとに分割され、ほとんどのエンティティは単一のワーカー インスタンスによって処理されます。単一のワーカーが新しいエンティティを新しいアプリケーションにコピーするよりも速く、この名前空間に新しいエンティティを書き込むと、移行は永久に実行されます。

  • 移行ツールがキーをマッピングできるよりも速くエンティティを書き込むことができます。これは、毎秒数百または数千のクエリを処理し (これを QPS と呼びます)、新しいエンティティがその速度で書き込まれている場合、マッパーが追いつかない典型的なケースです。マッパーは、エンティティをバケットにシャーディングして、並行してコピーできるようにする役割を担います。

于 2012-04-10T15:45:01.770 に答える