繁体   English   中英

Azure Web Apps非常慢

[英]Azure Web Apps are really slow

我一直在调查我的生产应用程序的缓慢预热时间,我得到了一些意想不到的结果。

在各种Azure VM上进行测试表明,预热时间与应用程序服务器性能密切相关(因此它不是外部请求,包括sql),但真正有趣的是与Azure Web Apps和我自己的本地计算机的比较(所有时间都是从大约3次运行的平均值):

VM A0:            >1m
VM A2:            13s
VM D2V2:           6.8s
VM D5V2:           7.8s
Wep App P2:       25s
Web App S2:       26.5s
My local machine:  6.6s

我的本地机器是一台3.3GHz的i5。

即使本地计算机通过Internet连接到同一SQL Azure数据库,该本地计算机也是最快的,并且该请求包括实体框架的模型检查

所有测试都使用.NET 4.6.1,这是目前最新的版本。

明显的结论:

  • 对于不可并行化的作业,我4岁的桌面盒比任何大小的Azure VM都要快。
  • 即使您愿意每月花费500美元,Azure Web Apps也可以在土豆上运行。

这看起来很可疑。 还有什么想法可能会发生什么? 或者要测试什么?

在进行一些分析之后编辑:以下所有内容都没有解释我的问题,但它仍然是有趣的信息(在另一个A2 VM上测试,在连接分析器时总请求时间为20秒):

  • 58%是jitting。
  • 文件IO阻塞几乎为零(应用程序之前已经启动过,所以我猜所有必需的dll部分都在内存缓存中)。
  • <1%是SQL Azure请求。
  • 因此,90%运行时间的其余部分应该是.NET执行或探查器开销。
  • 探查器本身有很大的开销,因为请求在没有它的情况下运行大约只有15秒(我使用了JetBrains dotTrace的试用版,我非常喜欢)
  • 50%的时间是在使用Entity Framework的第一次请求期间,其中80%是jitting
  • 15%是SignalR的第一次使用,几乎没有jitting(做一些反思 - 废话)

几乎没有并行化。

最初,当我们部署我们的Azure应用服务 - Web应用程序(托管在Resource Group1中)和我们的Azure SQL数据库(托管在Resource Group2中)时,应用程序非常慢。 我犯的错误是RG1 vand RG2都在两个不同的位置。 后来,当我们将两个RG(实际重新创建它们)的位置更改为相同时,WebApps开始顺利运行。

谢谢,Prawin

我也有同样的问题,我通过将我的网站内容(图片和视频)移动或复制到Azure Blob存储来修复。 我们还可以将Azure CDN配置为WebApps,VM,云服务和自定义源。 通过尝试Azure CDN,您的网站加载时间将得到改善。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM