试图找出我的网站速度如此之慢的原因,它是一个使用bootstrap主题的asp.net空模板。不使用任何数据库或实体框架,所以我不知道为什么一个简单的asp.net网站可能这么慢。
似乎是TTFB(时间到第一个字节)达到了15-20秒。有时网站速度很快,但经常在一段时间后网站会变慢,我的理解是IIS正在暂停应用程序池。
我面临的挑战是使用Host4Asp和GoDaddy托管,两者都有这个问题,我无法访问IIS来配置它,因为它是一个共享托管。我用PHP创建了相同的网站,每次都会立即加载。
我已经在webconfig中实现了缓存,并在我的所有控制器操作上使用了CacheOutput属性。
<system.webServer>
<staticContent>
<clientCache httpExpires="Sun, 29 Mar 2020 00:00:00 GMT" cacheControlMode="UseExpires" />
</staticContent>
<urlCompression doDynamicCompression="true" doStaticCompression="true" dynamicCompressionBeforeCache="true" />
<httpProtocol>
<customHeaders>
<add name="Cache-Control" value="public" />
</customHeaders>
</httpProtocol>
</system.webServer>
所以问题是,如果您对IIS的访问权限有限并且您正在使用共享主机,那么如何改进asp.net网站的TTFB性能。当然,asp.net希望每个开发人员都拥有高性能的VPS或专用服务器。
我已经在GitHub上制作了一个包含完整解决方案代码的回购,如果有帮助的话。 https://github.com/devfunkd/zenwire
答案 0 :(得分:2)
托管服务通常会让您的网站进入睡眠模式,如果没有人访问一段时间。这可能与它有关,因为您注意到减速只是偶然的,并且在本地机器上有所改进。
答案 1 :(得分:0)