在将应用程序从托管 VPS 移动到 Azure 应用程序服务后,Azure SQL DB 性能大幅下降的原因是什么?
这是过去两周 Query Store 的 High Variation 图表中的典型图表。红色箭头表示我将生产应用程序从另一个托管服务提供商移动到 Azure 应用程序的时间。在移动应用程序之前,我经历了零超时。现在,使用相同的 Azure SQL DB,超时会频繁触发较长的查询(但绝不是太费力)。
我所做的唯一其他更改是更改连接字符串中的用户原则。此用户只有 SELECT、INSERT、UPDATE、DELETE 和 EXECUTE 权限。
我的理论是: - 与应用程序和数据库之间的网络有关。弹性?但是我指定了一个 SQL 执行计划——我设置的用户有问题吗?- 糟糕的计划回归(我现在启用了自动 FORCE PLAN 调整) - 由 Hangfire 同时在两台服务器上运行引起的问题(现在通过将 HF 表移动到新数据库来缓解) - 某些事情正在触发某种我无法弄清楚的节流.
以下是 Log Analytics 的超时图表:
所有帮助表示赞赏。注意:该站点在过去 30 天内的流量几乎相同。
事实上,从过去一周的 SQL DB 指标看一下:
这是一些等待信息 - 过去 6 小时:
蓝色 = PARALLELISM 橙色 = BUFFERIO