9

由于可靠性问题,我准备放弃 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 查询以了解发生了什么,并发现了这一点:

在此处输入图像描述

根据文档,602,382 是微秒,或大约 602 毫秒,所以显然我的数据库使用要求非常低。我有一种感觉,这纯粹是 Azure SQL 的过度租赁问题。还有其他可能的解释吗?除了离开 Azure SQL 去寻找更绿色的牧场(例如专用 SQL VM)之外,还有什么潜在的解决方案吗?

4

4 回答 4

3

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

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

在高级层中,您的数据库将得到保证,比如几个内核、内存和 IOPS(把它想象成一个迷你 VM)

于 2013-10-20T13:55:09.940 回答
1

由于目标计算机上的 Internet 连接速度较慢,可能会发生此错误。

于 2019-09-07T08:48:41.220 回答
0

查看 SQL Azure 中的高级预订,它更贵,但您会远离“租户邻居噪音”。它处于预览模式,并且有一些重要的改进:删除了最大连接限制、没有最大日志限制、没有节流和没有邻居噪音。

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

于 2013-09-20T05:03:37.840 回答
0

使用云数据库,您可能应该实施重试机制,然后跟踪失败的频率 - 理想情况下告诉最终用户存在临时问题

于 2017-04-22T23:58:51.603 回答