2016-03-24 2 views
2

今日の未知の理由で約10分間だけ、Azure Webアプリケーションの1つが、Azure SQLデータベースの可用性に関連して崩壊しました。ウェブアプリは、「待機操作がタイムアウトしました」というYSODを出しました。 Elmahは、「ログインに失敗しました」や「現在のコマンドで重大なエラーが発生しました。結果があれば、それを破棄する必要があります。Azureデータベースの "wait operation timed out"のトラブルシューティング

アプリとデータベースの負荷を見ると、なぜ私は本当にそのように見えません。データベースはS0レベルに設定されており、それをS1に増やしましたが、それは変わっているようです。私たちはデータベース上で50%以上のDTU利用率を持つことはめったにありません。また、Webアプリケーションは35件の同時リクエストでピークに達します。全体的には、S0データベースの機能の外にあるべき負荷のようには見えません。

すべてが嫌なことがありますが、最大の問題はです。これをトラブルシューティングするにはどうすればよいですか?明らかにDBの問題ですが、低負荷では私はなぜそれがわかりません。私は間違いなく、このサイズのアプリの月額300ドル+プレミアムレベルにアップグレードしたくありません。

ログがありますか?これを把握するために設定することはできますか?何が起こったかを振り返り、それが再び起きないようにするための決定的な結論を導く何らかの方法?

+0

これは私のアプリに時々起こります。なぜ私は見ることができません。 RetryPolicyが設定されていて、デフォルトのSqlConnetion ConnectionTimeoutを(接続文字列の中で)有効にしているようです。結局のところ、私はMSがdbへの接続が常に行われることを保証しているとは思わないし、再度起こるのを防ぐことはできません。 –

+0

奇妙なのは、アプリが約3/17まで非常に少数の問題で実行されていたことです。その時点で、定期的な断続的な問題が1日に何十回も発生し始めました。 –

+0

また、一部のブラウザでは、そのサイトのCookieが消去されるまで、問題は引き続き発生します。これは、ServiceStackに関連している可能性があり、キャッシングをどのように処理するかのように思えます。 –

答えて

1

[ツール]> [オプション]>デザイナー>テーブルおよびデータベースデザイナ

ための一番上にあるチェックボックスを確認してください

:チェックされ、必要に応じてトランザクションタイムアウトを増やす「テーブルデザイナーの更新のための接続文字列のタイムアウト値を上書き」を。

このチェックボックスをオフにして、接続文字列にタイムアウトを指定します。

インデックスを有効にしても同じ問題が発生しましたが、常に同じ問題が発生しました。デフォルトは30秒で、私は最大900(15分)の鉱山に衝突し、それを実行させました。これは成功しました。おそらく30秒以上の時間しか必要ないでしょう。