0

私はかなり大きなアプリケーションを持っていて、大規模なオーバーホールを行いました。

新しいバージョンは多くのJSONP呼び出しを使用しており、500のサーバーエラーに気づきました。エラーの原因を特定するために、ログセクションには何も記録されません。これは、JS、png、さらにはサーブレット(サーブレット)でも発生します。

SOとグループを検索すると、これらのエラーは展開中によ​​くあることがわかりました。しかし、それは展開後数時間後でも起こります。

ところで、アプリケーションは少し大きくなり、まれにいくつかのインスタンスを開始するときに期限例外が発生することさえあります。場合によっては、6〜10秒以内に起動して配信されます。75秒を超える場合があり、それによって同様の要求のタイムアウトが発生します。ウォームアップリクエストでも同じ動作が見られます。アプリのウォーミングアップ中にカスタムが読み込まれることはありません。

4

3 に答える 3

0

一部の500は、アプリケーションログに記録されません。それらはGAEのフロントエンドでの失敗です。何らかの理由でリクエストが急増し、アプリケーションの新しいインスタンスをそれらのリクエストを処理するのに十分な速度で起動できない場合、500がアプリケーションのログに表示されていなくても、クライアントに500が表示されることがあります。GAEチームは、これらのフロントエンドログの可視性を提供するために取り組んでいます。

于 2013-03-14T19:20:14.777 に答える
0

ログにエラーが表示されるはずだと思います。クォータを超えていますか、または締め切りエラーがありますか? ファイルが見つからない、またはエラー ハンドラへのパスが別の静的ファイル ルートと重複しているなど、エラー ハンドラにエラーが発生している可能性があります。

トラブルシューティングを行うために、カスタム エラー ページを実装して、実際のエラー コードを特定できるようにします。使用している言語を指定していないため、Python を想定しています。以下を追加してapp.yaml静的な html ページを作成します。これにより、受信者は何が起こっているのかを理解し、調査結果を報告することができます。

error_handlers:
  - file: default_error.html
  - error_code: over_quota
    file: over_quota.html
  - error_code: dos_api_denial
    file: dos_api_denial.html
  - error_code: timeout
    file: timeout.html

既にカスタム エラー ハンドラをお持ちの場合は、いくつか提供しapp.yamlていただけますか?

于 2013-03-13T04:00:36.667 に答える