Microsoft Azureサポートチームとの戦いです。サポートチームが以前に私たちを混乱させたことがあるので、Serverfaultコミュニティに参加してもらいたいと思います。
これが起こっていることです。
Azureでホストするより大きなSaaSサービスの一部として、基本的なHTTPリクエストを受け入れ、いくつかのマイナーな検証を実行してから、グラント作業をバックエンドサーバーこのプロセスはCPU、メモリ、またはネットワークを集中的に使用するものではなく、ディスクサブシステムには一切触れません。
価格階層は「ベーシック:2中」で、これは、私たちがかける負荷に対して十分すぎるほどです。 CPUとメモリのグラフは、システムがほぼスリープ状態で、メモリ使用量が約36%であることを示しています。
サーバースクールで十分な注意を払ったため、Azureの標準監視機能を使用して、ソリューション全体のさまざまなレイヤーを積極的に監視しています。私たちが追跡しているカウンターの1つは「ディスクキューの長さ」です。これは、Azure App Servicesで利用できる非常に数の少ないカウンターの1つなので、重要です。
サーバースクールに戻ると、ディスクキューの長さは理想的にはゼロである必要があると言われました。それが1を超え続ける場合は、一緒に行動する必要があります(特定のRAID構成にはいくつかの例外があります)。ここ数年はすべて順調で、ディスクキューの長さは99%の時間でゼロでしたが、Microsoftがシステムにサービスを提供しているときは5に急増しました。
数か月前に、物事が突然変更され始めました(変更をロールアウトした後ではありません)。ディスクキューアラートがフラッディングし始め、キューの平均の長さは30秒です。
問題が解消するかどうかを確認するために数日間実行します(少なくとも現在の負荷ではパフォーマンスに大きな影響はありません)。問題が解消されなかったため、基盤となるシステムに問題があると考えたため、新しいAzure App Serviceをインスタンス化して、そのサービスに移行しました。同じ問題。
そこで、Azureのサポートに連絡しました。当然、彼らは私たちが立ち去ることを期待して多くのナンセンスなテストを実行するように私たちに頼みました(彼らはディスクキューの問題のためにネットワークトレースを求めました!)。私たちはあきらめないので、意味のないテストを実行し、最終的にはキューの長さのアラートを50(10分以上)に設定するように言われました。
基盤となるハードウェア、インフラストラクチャ、システム構成を制御することはできませんが、これは正しく聞こえません。
彼らの完全な応答は次のとおりです
この場合に収集した情報を製品チームに連絡しました。
彼らは、ディスクキューの長さに指定したアラートが予想よりも頻繁に発生する問題を調査しました。
このアラートは、ディスクキューの長さの平均が5分間で10を超えた場合に通知するように設定されています。このメトリックは、サンプル間隔中に選択されたディスクのキューに入れられた読み取り要求と書き込み要求の両方の平均数です。 Azure App Serviceインフラストラクチャの場合、このメトリックは次のドキュメントリンクで説明されています。 https://docs.Microsoft.com/en-us/Azure/app-service-web/web-sites-monitor
10の値は、デプロイされたどのタイプのアプリケーションでも非常に低いため、誤検知が発生する場合があります。つまり、アラートは正確な接続数よりも頻繁にトリガーされる可能性があります。
たとえば、各仮想マシンでマルウェア対策サービスを実行して、Azure App Serviceインフラストラクチャを保護します。この間、接続が確立されていることがわかり、アラートが低い値に設定されている場合、トリガーすることができます。
サイトの可用性に影響を与えるこのマルウェア対策スキャンのインスタンスは確認されていません。マイクロソフトでは、ディスクキューの長さのメトリックを10分間で少なくとも50の平均値に設定することを検討することをお勧めします。
この値により、パフォーマンスの目的でアプリケーションを引き続き監視できるはずです。また、メンテナンス目的で実行するマルウェア対策スキャンやその他の接続による影響も少ないはずです。
誰かがチャイムしたいですか?
私には、Azureが共有プール環境にあるので、それも同様に聞こえます。私はあなたのバックエンドディスクが他のクライアントによって打たれているに違いない。他の投稿によると、Azureはこのことで知られているようです。バックエンドディスクを使用率の低いストレージに再配置できるか、これらの投稿や他の投稿の推奨事項を試していただけるかどうかを確認します。