试图弄清楚为什么我的网站这么慢,它是一个使用 Bootstrap 主题的 asp.net 空模板。没有使用任何数据库或 Entity Framework ,所以我不知道为什么一个简单的 asp.net 网站会这么慢。
似乎是 TTFB(第一个字节的时间)达到了 15-20 秒以上。有时网站速度很快,但通常一段时间后网站会变慢,我的理解是 IIS 正在暂停应用程序池。
挑战是我正在使用 Host4Asp 和 GoDaddy 托管,两者都有这个问题,我无法访问 IIS 来配置它,因为它是共享托管。我用 PHP 创建了同一个网站,它每次都能立即加载。
我已经在 webconfig 中实现了缓存,并在我的所有 Controller 操作中使用了 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
最佳答案
如果一段时间内没有人访问,托管服务通常会使您的网站进入休眠模式。这可能与它有关,因为您注意到减速只是偶尔发生,并且在您的本地计算机上有所改善。
关于c# - 改进 ASP.NET 网站的 TTFB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35069737/