Azure“Web App”和Azure SQL DB表现缓慢。

5
我将现有的asp.net web-api从Azure虚拟机(安装了IIS和本地MSSQL)迁移到Azure Web应用程序和Azure SQL数据库(都在西欧)。我注意到相同工作量下,两者之间处理持续时间显著增加。在虚拟机上需要10-15毫秒的任务,在托管服务环境中至少需要150毫秒。两者均为内部处理,不包括与VM或Web应用程序之间的网络延迟。两者均使用空数据库和相同的代码库。具有相同索引和数据库架构。
虚拟机是一个简单的2核/ 7GB SSD机器。但即使我将我的Web应用程序设置为高级4核/ 7GB,将我的数据库设置为高级250DTU,性能也没有提高。实际上,基本的2核Web应用程序和10DTU数据库的性能相同。因此,瓶颈必须出现在其他地方。
我该如何找出导致处理缓慢的原因?Web应用程序和数据库没有性能警报,也没有建议进行扩展。

当您说“本地”时,是指您的本地计算机还是在同一网络中的预设机器? - univ
这个问题有任何进展吗?你成功解决了吗? - pnizzle
2个回答

1

针对每个会话/工作负载运行以下查询,以了解在这些工作负载期间发生的等待类型:

-- 在此处输入您的查询

go

select * 
from sys.dm_exec_session_wait_stats
where session_id = @@spid
order by wait_time_ms desc

最后一个SELECT语句将为您提供当前会话中的所有等待。
您还可以启用查询存储。

http://www.sqlcoffee.com/Azure_0010.htm

执行以下查询以了解查询在执行过程中等待的原因

select  wait_category_desc, sum(total_query_wait_time_ms) as [sum ms], count(*) as [interval cnt],  avg(avg_query_wait_time_ms) as [avg ms], sum(total_query_wait_time_ms / avg_query_wait_time_ms) as [wait cnt]
from sys.query_store_wait_stats
group by wait_category_desc
order by [sum ms] desc

以下文章将告诉您每个等待类别的含义。

https://learn.microsoft.com/en-us/sql/relational-databases/system-catalog-views/sys-query-store-wait-stats-transact-sql

希望这可以帮到您。

0
今天我遇到了同样的问题:Azure Web AppAzure DB结合在一起时,任何与DB有关的操作都会变得非常缓慢。
但是当我在本地计算机上运行应用程序时,体验非常快速。因此,我检查了我的应用服务和位置。我使用位于美国的S1服务,并在澳大利亚使用数据库。
因此,我进行了以下两个更改:

• 升级到Premium S2

• 将Web App和DB都定位在同一个区域内。

这两个更改导致性能大幅提高。

我不确定为什么我的先前回答被认为是重复的问题,如果我是在另一个问题上发布了相同答案的原始帖子,并且如果该答案适用且正确。仅仅因为这个原因而更改它是没有意义的。请先发表评论并允许我编辑,然后再完全删除...


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接