0

この動作を見たのはこれで 2 回目で、どう対処すればよいかわかりません。

.Net Core をベースにした Web システムを使用しています。現在 2.0 (これを更新する必要があることはわかっています)。

  • 単一の App Service
  • 2 つの .Net Core ベースの Web アプリ:
    • 主に Web API REST エンドポイント
    • 1つには、非常に単純なMVCフロントエンドのものもあります(JS / JQueryを使用していくつかのRESTエンドポイントにクエリを実行し、統計と診断のものを提供するバックエンド管理ポータル)
    • 1 つの Web アプリには、キューによってトリガーされる 2 つの Web ジョブがあります
    • どちらも EF Core 経由で同じ Azure SQL データベースにアクセスします。
    • どちらもロギングに NLog を使用します
  • 3 番目の Web アプリは、メイン UI を処理する Angular フロントエンド専用であり、実際の問題を引き起こすことはありません (Web API エンドポイントの 1 つを呼び出し、結果のデータを表示します。多くのロジックはありません)。

これらのアプリは、マルチテナント レポート システムを形成します。レポート用のデータを取得するために 1 つのアプリが使用されます。もう 1 つは、リモート クライアント システムがデータをアップロードおよびインポートするために使用するエンドポイントで、データはフロントエンドで表示されます。

すべてがビルド サーバー (Team city) 上に構築され、ビルド アーティファクトも同じ Team City サーバー上の個別のビルド構成を介して azure にデプロイされます。

これは一般的に、しばらくの間 (1 年以上) うまく機能しています。しかし、数か月ほど前に、これらの Web アプリの 1 つ (レポート アプリ) が要求に応答しなくなりました。すべての要求 (たとえば、JWT トークンを生成するだけの「ログイン」などの基本的なものは問題ありませんでした) ではありませんが、多くのデータを取得しようとするものはすべて応答しませんでした。

Web アプリを再起動しても解決しませんでした。余分なロギングを有効にしても役に立ちませんでしたが、コードの特定の行に到達し、ただ...停止していることを特定しているように見えました. それは非常に奇妙で、特に負担のかかることをしている行ではありませんでした。

最後に、ログをさらに追加し、もちろん、それらの変更を反映するために再デプロイする必要がありました...その後、問題は完全に解消されました。いくつかのログ ステートメント以外には何も追加しませんでした (これについてはかなり細心の注意を払っており、Team City/VCS Labeling (Git) を通じてビルド/デプロイの履歴を利用できます)。

今日、他の.Net Core Web アプリでも同様の症状が発生しました。コード内の特定の場所に到達して停止しているように見えました。(ログからわかる限り)。アプリ (および両方のアプリをカバーする App Service 全体) を再起動しようとした後、何の変更も加えずにサイトを再デプロイしただけで、機能し始めました。

この動作の原因は何ですか? 時々、.Net Core Web Apps が何らかの奇妙な状態になり、適切に応答しなくなることがあるようです。それらは例外をスローしません。ただ...停止します。また、Web Apps を再起動しても効果がないように見えますが、これは特に奇妙です。再起動の間に予想よりも多くの状態が持続しているかのようです。

私はすぐに .Net Core 2.2 などへのアップグレードを優先しようと思いますが、もちろん、更新後に再び起こったら嬉しくないので、誰かがこれを見たのではないかと思いました.

4

1 に答える 1