Azure sql database 当试图删除违反外键约束的记录时,为什么Azure web app性能会受到如此大的影响?
当试图删除违反外键约束的记录时,为什么Azure web app性能会受到如此大的影响?我知道,“不要那样做。”这可能是一个巨大的因素,这让我感到惊讶 我有一个Azure网站,每小时运行约125K个请求,它连接到Azure SQL S2数据库,每天的吞吐量约为8GB,其中大部分是在正常工作时间。在Azure门户图表中,该网站在一天中通常有40%的CPU和50%的内存。数据库平均约有15%的CPU和30-40%的数据I/O和日志I/O 我尝试使用Mgt Studio删除违反外键约束的记录。该网站遭受了巨大的损失——被处理的请求数量下降得非常少,CPU达到峰值,http队列长度变得非常高,Autoscale添加了另一个实例,许多http服务器错误开始发生,许多客户端报告超时和502个坏网关错误 我花了几分钟才意识到问题并取消查询,取消查询又花了三分钟,web应用程序花了10-15分钟才赶上Azure sql database 当试图删除违反外键约束的记录时,为什么Azure web app性能会受到如此大的影响?,azure-sql-database,azure-web-app-service,Azure Sql Database,Azure Web App Service,当试图删除违反外键约束的记录时,为什么Azure web app性能会受到如此大的影响?我知道,“不要那样做。”这可能是一个巨大的因素,这让我感到惊讶 我有一个Azure网站,每小时运行约125K个请求,它连接到Azure SQL S2数据库,每天的吞吐量约为8GB,其中大部分是在正常工作时间。在Azure门户图表中,该网站在一天中通常有40%的CPU和50%的内存。数据库平均约有15%的CPU和30-40%的数据I/O和日志I/O 我尝试使用Mgt Studio删除违反外键约束的记录。该网站遭
我的问题是,这是对违反外键的正常反应吗?我是否在数据库或web服务代码中存在结构错误,导致Mgt中外键冲突错误造成如此广泛的灾难性影响。演播室升级到Azure Sql V12会消除此类问题吗?很可能是数据库性能问题 我试图删除的记录被多个外键约束引用,大多数是delete cascade,但有一个不是 大多数级联删除引用用于少量记录,但其中一个引用了一个表中的135000条记录,该表共有600000条记录 另一个级联删除可能引用了一个表中的少量记录,其中记录很少,但每个表中可能有一个10-15MB大小的blob。我不知道我试图删除的记录引用了多少,如果有的话
我猜它一直在执行级联删除,直到它遇到一个没有级联删除的表,并且不得不回滚所有内容。换句话说,网站的扩展问题很可能是因为数据库性能受到影响。Azure的这一方面令人失望。当我们使用Sql Server 2005在Windows Server 2003虚拟机上本地提供这些服务时,数据量增加了几倍,数据库的响应速度大大提高。也许升级到Azure Sql V12会有所帮助。Sql Server是如何实现这一点的?如果在本地执行此操作,会发生什么情况?