如何确保两个azure SQL数据库执行类似的操作?

时间:2016-04-11 17:08:38

标签: c# database azure

我在Azure SQL上有两个数据库,它们由.net EF应用程序使用。对一个数据库的查询超时,另一个数据库的查询立即完成。

我进去并将超时延长到180秒,然后

var watch = System.Diagnostics.Stopwatch.StartNew();
result = db.Objects.Select(o => λ);
watch.Stop();
System.Diagnostics.Debug.WriteLine(watch.ElapsedMilliseconds);

数据库1在66秒后响应。 数据库2在0.2秒后响应。

我去查询性能洞察,找到了查询并通过VS的SQL Server对象资源管理器手动执行。

数据库1在1秒内响应。

数据库2在1秒内响应。

对数据库1的查询洞察力向我展示了以下内容:

Date: Time             CPU%    Total time      Executions count
4/11: 11 AM - 12 PM    5.8     00:08:30.340    17
4/11: 12 PM - 01 PM    8.35    00:17:55.890    12 

所以我知道它在过去一小时内变得越来越糟。考虑到两个数据库属于同一服务器和同一定价层,我如何影响/调试呢?

2016-04-13:故事继续

在近20个数据库中,只有一个被注意到。从那时起,效果逐渐消退,但我会留意。

查询地址对象的导航属性,并且仅当联结表具有其他列时才会观察到减速(在包含除两个外键之外的有用数据的表上)。

1 个答案:

答案 0 :(得分:0)

你在哪个地区?也许您可以请求Azure支持人员查看它?

与此同时,我们提出了一个排除故障的建议:创建2个新数据库,并以与使用前2个数据库相同的方式使用它们。

新款的性能是否相同?或者你看到有什么不同吗?