1

18 か月以来、Azure + SQL Azure でホストされている非常に安定したアプリケーションを使用していました。

月曜日以降、SQL Azure でランダムに長時間のデッドロックが発生し、データベースの更新が何時間も妨げられています。

それからそれは行きます。それから戻ってきます。

Web サイトの「読み取り」部分は問題ないため、これはインスタンスとは関係ありません。

  • 私の場合、一貫性は重要ではないため、各リーダー要求で WITH (NOLOCK) を使用します。そのため、Azure の datareader は機能しますが、更新ごとに SQL タイムアウト接続がスローされます。

  • 私は、Windows Azure SQL の一時的なエラーに対して再試行ロジックを使用しています。

  • 一元化されたデータベースはいくつかの Web サイトにサービスを提供し、トラフィックは 1 日合計で約 25,000 の訪問があります。18 か月以来、問題はありませんでした。現在のトラフィックは、すべてが順調だった先週から跳ね上がっていません。

何が起こっているのか手がかりがありませんでした。そして、何も制御するための具体的な方法を持たずに、初めて自分が雲に閉じ込められていることに気づきました。

多分攻撃。では、Azure でそれを検出するにはどうすればよいでしょうか。Azure インスタンスで着信 HTTP 要求を確認する方法はありますか?

4

4 に答える 4

1

リクエストの分析は開始する場所の 1 つですが、もう 1 つの場所は、データベースで何が起こっているかを正確に理解することです。それがあなたが問題を取り上げているところですよね?不正なクエリを見つけることができれば、ソースを追跡するのに適した場所にいるはずです。残念ながら、Windows Azure SQL データベースでは、SQL Server で使用できるすべてのオプション (プロファイリングなど) は提供されていませんが、いくつかの助けがあります。システムビューを見ください。理解のすべてのビューを正確に通過するそれぞれが示していること。これにより、現在よりもデータベースで何が起こっているかをよりよく理解できます。これは、特定の問題に関係なく、良い情報です。

再デプロイが可能な場合は、Newrelicをぜひお試しください。これは、自分自身をプロファイラーとしてアプリにフックし、大量の有用な情報を提供するエージェントです。問題を解決するために試用期間にサインアップするだけでも、深刻な問題がある場合は価値があります。注意してください、Newrelic は動作させるのが少し面倒で、Azure 上の .NET 4.5 ターゲット プラットフォームをサポートしていないようです。

于 2013-03-13T21:12:18.607 に答える
0

ちょっとしたグーグル検索で、Azure から IIS ログをエクスポートする方法を説明した記事を参照できるはずです。次に、IIS をローカルで実行しているかのように、それらを解析できます。

ただし、これらの問題が発生していて、変更を加えていないのに突然発生した場合は、Microsoft サポートに連絡することをお勧めします。

于 2013-03-13T20:15:21.243 に答える
0

管理ポータルで CPU アクティビティを調べることができますが、制限はありますが、いくつかの情報を収集できる場合があります。Web ロールはサーバー ログを収集していますか? その場合は、Cerebrata Diagnostics Managerなどのツールを使用してログ ファイルを視覚化できます。

于 2013-03-13T20:47:14.237 に答える
0

サード パーティのサービスと製品の使用を気にせず、現在のリクエスト/秒または SQL Azure データベースの負荷 (アクティブ クエリ、ブロック クエリ、オープン接続など) をアクティブに監視する必要がある場合は、AzureWatch @ http:をチェックしてください。 //www.paraleap.com - これは Azure 専用の監視サービスであり、ロールまたは SQL Azure データベースに問題があると数秒以内に警告します。

于 2013-03-13T21:13:51.400 に答える