5

私たちはgaegoでひどい経験をしています。私たちのアプリが無料だったとき、私たちはソフトプライベートメモリの制限を超えても問題はありませんでした。割り当てを超えたため、支払うことにしました。1日の予算は3ドルに設定されています。有料サービスの有効化後、サイトを再び使用できるようになり、超過割り当てはなくなりました。数時間後、このExceededソフトプライベートメモリ制限を取得し、これ以外は何も表示されなくなりました。データストア内のいくつかのビッグデータをクリアし、組み込みを無効にしようとしましたが、それでもうまくいきません。

障害がどこから来ているかについて、コードでいくつかのテストを行いました。データストアのアクセスコードを削除して、サイトを再構築しました。したがって、私の結論は、ごく少数のエンティティをフェッチするためだけでもデータストアにアクセスすると、このようなエラーが発生するということです。私たちは少し絶望的です。テクノロジーを活用するためにappspotを使用することを選択しましたが、開発に進むことができないため、これを取得します。

以下は、この種のエラーを発生させるコードです。

q := datastore.NewQuery("Course")
    courses := make([]courseData, 0)
    if keys, err := q.GetAll(c, &courses); err != nil {
        http.Error(w, err.Error(), http.StatusInternalServerError)
        return
    } else {
      for i := range courses {                 
          courses[i].Key = keys[i]
      }                           
    }

あなたが私たちに拡張できるどんな助けでも大歓迎です。前もって感謝します。

4

1 に答える 1

3

私の経験では、このメッセージは通常、インスタンス クラスがサポートするよりも多くのメモリをインスタンスが使用していることを意味します。このメッセージが表示され始めたら、次のインスタンス クラス (F2 など) にアップグレードし、それが消えるかどうかを確認します。これは、モジュール構成ファイルで行う変更です (以前は管理コンソールの [アプリケーション設定] セクションにありました)。もちろん、次のクラスがサポートできるよりも多くのメモリを使用していない限り、おそらく問題は解決します。

予算の制限に合わせて自動的にスケーリングする他のリソースとは異なり、RAM はそうではありません。リクエストによってインスタンスがそのインスタンス クラスの RAM 制限を超えた場合、インスタンスはリクエストの終了時に終了し、このメッセージがログに記録されます。

于 2013-04-07T21:53:01.623 に答える