Azure SQL等待操作超时

时间:2013-09-19 15:26:00

标签: performance azure-sql-database

我准备放弃Azure SQL以解决可靠性问题,但我想我先在这里查看。我在SQL Azure上遇到了几个零星的超时错误。这不是连接字符串问题 - 我们谈论的是几个已经运行了很长时间但没有问题的应用程序。确切的错误是:

System.ComponentModel.Win32Exception: The wait operation timed out

目前,我在过去30分钟左右看到了其中的300个。我运行了http://blog.sqlauthority.com/2010/05/14/sql-server-find-most-expensive-queries-using-dmv中提到的DMV查询,以了解发生了什么,并找到了:

enter image description here

根据文档,602,382是微秒,或大约602毫秒,所以显然我的数据库使用要求非常低。我有一种感觉,这纯粹是Azure SQL的过度租赁问题。还有其他可能的解释吗?任何潜在的解决方案都不能让Azure SQL留给更环保的牧场(例如专用的SQL VM)?

4 个答案:

答案 0 :(得分:3)

是的,你是对的,你可能会受到其他高资源利用租户的扼杀,这些租户已放置在你的数据库所在的同一台机器上。

默认情况下,Sql Azure提供SLA可用性但不保证性能。如果您正在寻求性能的一致性,您应该查看他们的高级层:http://www.windowsazure.com/en-us/pricing/details/sql-database/

在高级层中,您的数据库将保证说出几个内核,内存和IOPS(将其视为迷你虚拟机)

答案 1 :(得分:1)

此错误可能是由于目标计算机上的Internet连接速度慢所致。

答案 2 :(得分:0)

查看SQL Azure中的高级预订,它更昂贵,但您与“租户邻居噪音”相隔离。它处于预览模式,它有一些重要的改进:删除最大连接限制,没有最大日志限制,没有限制和没有邻居噪声。

SQL Server的专用虚拟机现在很糟糕,因为网络需要复杂的设置才能使用云服务和高可用性。除非您运行SQL Server 2012,否则像备份这样的简单事情需要额外的工作。

答案 3 :(得分:0)

使用云数据库,你可能应该实现一个重试机制,然后一种方法来跟踪它失败的频率 - 理想情况下告诉最终用户存在暂时性问题