突然出现 SQL Azure 性能问题

突然出现 SQL Azure 性能问题

我正在使用 New Relic 监控我的一个网站,大约每两周我的 Apdex 就会下降一次。这似乎是 SQL Azure 的问题。

我知道的:

  • 每分钟请求数与每个工作日特定时间的请求数相同。与昨天或上周同一时间相比,没有任何峰值。
  • 性能从平均约 100 毫秒降至平均 12 秒。
  • 前一周没有发生任何代码变化。
  • 重新启动访问该数据库的 Azure 网站没有任何区别。
  • 在前端网站上向上扩展没有什么区别。
  • 似乎没有任何未关闭的连接或未处置的连接对象。

有趣的是,似乎可以立即解决这个问题的方法是改变数据库的规模 -任何方向。将其从 S0 移动到 S1 可以修复此问题;将其从 S2 移动到 S1 可以修复此问题。显然,不可能“重新启动” Azure 数据库,但此过程似乎可以做一些事情。

我不确定如何进一步调查此事。有人有什么建议或想法吗?

答案1

我们多次遇到过完全相同的问题 - 通常每 3-6 周一次(2 年前)。Azure 支持一直说我们需要调整查询。但问题与您遇到的问题类似 - 没有任何变化(代码或负载),性能只会下降几个小时,然后就会恢复正常。经过几天的沮丧,并添加了越来越多的日志记录和监控后,我们发现 Azure 不想与我们分享:

如果主实例出现问题,他们会将其终止,然后辅助实例将成为主实例。这种切换是所有这一切的根源,Azure 支持人员犹豫不决地同意了这一点!!!尽管辅助实例是副本,但切换过程中存在一些问题,会使其变慢 - 几乎就像重新启动它一样。

实例可能因多种原因被终止:1. Azure SQL 是共享数据库。如果同一实例上的其他数据库之一出现故障(某些批处理作业负载过大),则会导致整个实例出现问题。2. 硬件故障 - 可能不像上述情况那么频繁。

答案2

我个人没有使用过任何命令,但我会尝试一下,看看 DB/Server 日志中发生了什么:

另外,尝试对你的应用程序进行一些调整,谁知道呢?这可能是问题的根源。

最后,如果这个问题是由数据库服务器的异常行为引起的,我会直接联系微软寻求支持。

希望这可以帮助。

答案3

您可以运行我们的数据库基准测试。它们为 SQL 服务器实例的关键属性提供了详细的性能指标。

为了这个目的,我们免费提供 dbwatch。 http://dbwatch.com/azure

相关内容