我一直在分析在Azure SQL中运行的执行得非常糟糕的数据库。它位于高级层,有1750个DTU可用,有时仍然可以最大化DTU。
我通过存储过程确定了各种查询和可怕的数据访问模式,从而降低了负载。但是在下图中DTU和CPU使用率之间仍然存在巨大的差异,我在“查询性能洞察”中看到的任何其他图像都是如此。在azure sql中显示DTU行与大多数情况下的CPU使用情况一致。
DTU (in red) to CPU usage per query
查看位于此的C#应用程序,对于使用该应用程序的每个用户,它会创建一个SQL用户,并在连接字符串中使用该用户来访问该数据库。这意味着未使用连接池,导致SQL azure DB上的活动用户/会话数量大得多。这可能是DTU使用率如此之高的唯一原因吗?
或者我可能会遗漏一些关于在Azure门户中不可见的IO的内容吗?
由于 尼尔
编辑:添加会话和工作者形象!
基于我现在不相信...会话百分比是多少?喜欢10%但10%的东西?允许的最大值?
Edit2:添加更多指标:
我认为紫色穗是重新指数所以可以忽略它!
答案 0 :(得分:1)