gpt4 book ai didi

asp.net - Azure Web 应用程序非常慢

转载 作者:行者123 更新时间:2023-12-03 08:58:56 25 4
gpt4 key购买 nike

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

在各种 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

我的本​​地机器是 i5,3.3GHz。

本地计算机速度最快,即使它通过 Internet 连接到同一个 SQL Azure 数据库并且请求包含 Entity Framework 的模型检查

所有测试均使用目前最新版本的 .NET 4.6.1。

显而易见的结论:

  • 对于不可并行的作业,我的 4 年旧台式机比任何大小的 Azure VM 都快。
  • 即使您愿意每月花 500 美元,Azure Web Apps 也可以在土 bean 上运行。

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

在进行一些分析后进行编辑:以下内容都无法阐明我的问题,但它仍然是有趣的信息(在另一个 A2 VM 上测试,附加分析器时总请求时间为 20 秒):

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

几乎没有进行并行化。

最佳答案

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

谢谢,普拉温

关于asp.net - Azure Web 应用程序非常慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36966505/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com