突然的SQL Azure性能问题

我正在使用New Relic来监视我的网站之一,而且大约每两周我的Apdex就会落地。 这似乎取决于SQL Azure。

我知道的:

  • 每分钟请求数与当时在每个工作日的请求数相同。 与昨天或上周同期相比,并没有出现上涨。
  • 性能平均从大约100ms到12秒。
  • 之前一周没有发生任何代码变更。
  • 重新启动访问此数据库的Azure网站没有任何区别。
  • 在前端网站向上扩展没有区别。
  • 似乎没有任何未closures的连接或未configuration的连接对象。

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

我不确定如何进一步调查。 有人有任何build议或想法吗?

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

如果主实例出现问题,他们会杀死它,而辅助实例现在将成为主实例。 这个开关是所有这一切的根源,Azure支持犹豫地同意了! 虽然辅助实例是一个副本,但是交换机有一些东西会使其变慢,就像重启它一样。

这个实例可能因为多种原因而被杀害:1. Azure SQL是一个共享数据库。 如果同一实例上的其他数据库之一操作不当(某些批处理作业的负载过重),则会导致实例范围的问题。 2.硬件故障 – 可能不如上述那样频繁。

还没有亲自使用过任何命令,但我会试试看看DB / Server日志中发生了什么:

  • 获取数据库事件日志: http : //msdn.microsoft.com/en-us/library/dn505710.aspx
  • 获取服务器事件日志: http : //msdn.microsoft.com/en-us/library/dn505726.aspx

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

  • Azure SQL数据库性能指南: http : //msdn.microsoft.com/en-us/library/azure/dn369873.aspx

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

希望这可以帮助。

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

我们提供dbwatch免费为这purpouse。 http://dbwatch.com/azure