c# - 改进 ASP.NET 网站的 TTFB

标签 c# asp.net asp.net-mvc

enter image description here试图弄清楚为什么我的网站这么慢,它是一个使用 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/

相关文章:

asp.net - 带有服务器端资源字符串的 HTML 输入标签

asp.net-mvc - Kendo Grid MVC 结合了 ajax 绑定(bind)和服务器编辑

asp.net-mvc - ASP.NET MVC 3 中的条件布局

c# - 如何在鼠标悬停在任何单元格上时突出显示 datagridview 的行和/或列标签(在 c# 中)?

c# - 使用组合框 MVVM 绑定(bind)枚举描述

asp.net - 模拟CSRF攻击

asp.net - 是什么导致带有 ¿ 字符的文本字段损坏?

c# - 如何处理这个路由?

c# - 不可变类型可以改变它的内部状态吗?

c# - 将 wchar_t 转换为 Char