2

Facebook で SQL Azure を使用する新しいゲームをリリースしましたが、断続的な接続タイムアウトが発生しています。

以前にこれに対処し、一時的な接続の問題に対処したように見える「再試行」ソリューションを実装しました。

しかし、ゲームが出た今、私はそれが再び起こるのを見ています. 頻繁ではありませんが、それは起こっています。それが発生した場合、SQL Azure 管理 Web ポータルにログインしようとすると、そこでも接続タイムアウトが発生します。SSMSを試すのと同じです。

クエリ自体はゲームの最初のもので、4 つのレコードを持つテーブルでの単純な選択です。

約 4 分後、タイムアウトが停止し、1 日か 2 日はすべて問題ありません。

全国のプレイヤーなので、直接ユーザーと接することはありません。

何が起こっているのかを理解する方法についてのアドバイスを探しています。

ありがとう、ティム

参考までに: http://apps.facebook.com/RelicBall/

4

1 に答える 1

3

データベースの前にあるコンピューティングの量に応じて、接続文字列で作成できる接続プールに制限を設けます。

たとえば、データベースの前に 2 つのコンピューティングがある場合に設定を試みます。

最大プール サイズ = 70;

SQL Database は 180 接続しか処理できませんが、これはハード リミットです。たとえば、接続制限に達している場合、再試行フレームワークは問題を悪化させます。これは、一定期間接続を試みるため、さらにダウンタイムが発生するためです。これが、計算の再試行フレームワークが断念するまでに数分かかる理由である可能性があります。

http://msdn.microsoft.com/en-us/library/windowsazure/ff394114.aspx

以下をご覧ください。

-- 接続を監視する
選択する
      e.connection_id、
      s.session_id、
      s.login_name、
      s.last_request_end_time,
      s.cpu_time
から
      sys.dm_exec_sessions
      内部結合 sys.dm_exec_connections e
      ON s.session_id = e.session_id
行く

アプリケーションの設計にキャッシュを追加するようにしてください。これにより、データベースでのアプリケーションのオーバーヘッドを大幅に削減できるため、SQL Azure を使用することをお勧めします。特に、接続の問題が発生する可能性があるためです。私は以前にこの種の問題を見たことがありますが、それは接続の制限だったので、その方向で少し時間をかけて調査して、それが原因かどうかを確認する価値があるかもしれません. そうでない場合は、MS サポートにチケットを開きます。

さようなら、グッドラック。

編集:プレミアムデータベースは明らかに接続の制限を引き上げているため、この問題の迅速な修正としても調査の価値があり、長期的な問題になる可能性があります。

http://blogs.technet.com/b/dataplatforminsider/archive/2013/07/23/premium-preview-for-windows-azure-sql-database-now-live.aspx

于 2013-05-09T18:28:38.163 に答える