2

我们在 Facebook 上发布了一款使用 SQL Azure 的新游戏,但我们遇到了间歇性连接超时。

我早些时候处理过这个问题,并实施了一个似乎已经解决了瞬态连接问题的“重试”解决方案。

然而,现在游戏结束了,我看到它再次发生。不经常,但它正在发生。发生这种情况时,我尝试登录 SQL Azure 管理门户网站,但那里也出现了连接超时。与尝试 SSMS 相同。

查询本身是游戏的第一个查询,它是对一个有 4 条记录的表的简单选择。

大约 4 分钟后,超时停止,一两天内一切正常。

由于这些是全国各地的玩家,我没有与用户直接接触。

我正在寻找有关如何弄清楚发生了什么的任何建议。

谢谢,蒂姆

仅供参考:http ://apps.facebook.com/RelicBall/

4

1 回答 1

3

根据您在数据库前面有多少计算,我将对可以使用连接字符串创建的连接池进行限制。

例如,如果您在数据库前面有 2 个计算,则尝试设置。

最大池大小=70;

SQL 数据库只能处理 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
      INNER JOIN sys.dm_exec_connections e
      ON s.session_id = e.session_id
去

您应该尝试将缓存添加到您的应用程序设计中,这可以大大减少您的应用程序在数据库上的开销,并且推荐使用 SQL Azure 练习。特别是因为您可能会遇到连接问题。我以前见过这种类型的问题,它是连接限制,所以也许值得花点时间在这个方向上调查一下,看看是否会导致这种情况。如果不是,我会向 MS Support 开一张票。

hths,祝你好运。

编辑:高级数据库显然提高了连接的限制,因此值得调查也可以快速解决这个问题,并且可能是一个长期的问题。

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 回答