Azure网站加载时间非常长

13

大家好,我最近在Azure门户上部署了我的一个应用程序,它运行得很好,但问题是当网站第一次加载时需要15秒才能完成。

成功加载一次后,它就可以正常运行,但是如果我在10分钟或20分钟后重新打开它,则再次需要15秒的时间来加载。

我已经阅读了所有文档,并应用了以下相同的方法:

性能提示

Traffic Manager路由

Azure Advisor

应用分析

Azure网站性能

SOF问题

Azure资源健康

调度程序

我已经设置了计划程序以在10分钟的时间间隔内调用我的应用程序,但它仍然存在相同的问题。

我发现一个问题是它花费时间来定位服务器并给出响应,所以是否有任何路由机制可以在Azure中提供更快地定位服务器?或其他方法。


1
它运行在哪个层级? - juunas
1
首次加载问题很可能是IIS加载时间,可以通过使用部署插槽+应用程序初始化(在web.config中设置预热路由)来加快加载速度。 - juunas
@juunas 我的应用程序正在运行在(基本:1 小)层级上。 - 3 rules
2个回答

6
你是否在应用程序设置中打开了“始终保持开启”旋钮?—

https://learn.microsoft.com/en-us/azure/app-service/web-sites-configure#general-settings

始终运行

默认情况下,如果 web 应用程序空闲一段时间,它们将被卸载以节省系统资源。 在基本或标准模式下,您可以启用“始终运行”功能,使应用程序始终保持加载状态。 如果您的应用程序运行连续的 WebJobs 或使用 CRON 表达式触发的 WebJobs,则应启用“始终运行”,否则 WebJobs 可能无法可靠运行。


从性能选项卡使用Application Insights收集.NET档案。这会告诉您什么需要永远加载。假设是ASP.NET。而且,请确保您的“/”路径实际上可以预热应用程序,因为这就是启用常驻功能的目的(GET /请求)。 - evilSnobu
这是什么意思 - 它花费时间来定位服务器,然后才给出响应,所以我能在Azure中提供任何路由机制来更快地定位服务器吗? 慢的DNS解析?那是本地问题,而不是云问题。 - evilSnobu
我也遇到了同样的问题。你有解决方法吗,@3rules? - user2185592
我们仍在寻找。 - spadelives
1
我想打开Always On来解决这个问题,但因为我仍在免费计划中,所以它被禁用了。通过上面的文章和浏览设置,我发现我的应用程序服务设置为.Net Full Framework,但我正在那里托管.Net Core。我将其更改为.Net Core,第一次加载需要4到5秒而不是10多秒。我希望它能保持下去。我直接从Visual Studio发布我的小网站,我一直想知道它所说的没有匹配的框架(或类似的内容)是什么意思。我想我刚刚解决了:) - Sam
显示剩余4条评论

0

检查您的应用服务插槽中的应用洞察配置,如果已激活,则可能会影响TTFB时间(首字节时间)

这可能是在您的Web.config中配置的诊断侦听器: https://varioustech.co.uk/?p=20

如果您有XDT_MicrosoftApplicationInsights_Mode配置键,请将配置从recommended更改为default


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