【问题标题】:Odd (Slow) Behaviour in ASP.NETASP.NET 中的奇怪(缓慢)行为
【发布时间】:2009-12-10 17:58:36
【问题描述】:

首先我想事先道歉,以防这是一个非常愚蠢的问题。我就是想不通。

我有一个运行 .net 2.0 的 C# ASP.NET 网站 无论是在我的本地机器上,还是在生产服务器上,它的运行速度都非常慢。

即使我禁用所有代码,它仍然运行缓慢以提供页面。

但是,如果它是 .ashx,而不是 .aspx,它会立即执行;即使它执行相同的事情。

有什么想法吗? 真心感谢!

【问题讨论】:

  • 请注意,有大量可用内存,与服务器的流量无关
  • 我还使用 RedGate ANTS 性能分析器进行了测试,但没有进行任何测试。我怀疑可能是某种 iis 问题?
  • 您是否尝试过在第一次查看 aspx 页面后运行配置文件,因为在部署后的第一次查看时您必须担心编译时间?所以加载页面一次,启动配置文件,然后再次加载页面。对您的 ashx 文件执行相同操作,以确保您将苹果与苹果进行比较。
  • 在web.config中,有没有为asp页面配置的自定义HttpModules?

标签: c# asp.net iis


【解决方案1】:

如果您的 ashx 页面加载速度快于 aspx,则可能与您的应用程序上运行的 HttpModules 或 aspx 页面生命周期自定义代码有关。

检查 Application_BeginRequest 中是否有任何事件或生命周期中的其他事件,这些事件可能正在写入文件(日志)、连接到慢速数据库或身份验证机构(如 AD),这些可能会通过网络并花费更长的时间通常处理。

将web.config中的所有HttpModules一一禁用并测试。检查this great article以获取更多信息

【讨论】:

  • 正要发布 Omar 的那篇文章!!
  • 我已经完全禁用了_BeginRequest,实际上整个global.asax并没有什么区别。我现在正在查看 httpModules 文章 - 谢谢!
  • 我不知道这是否真的是答案,但我给你打勾(至少现在是这样)因为这篇文章是天赐之物。
【解决方案2】:

您的 .aspx 页面是否定义为母版页的内容页面?或许 Master 中正在执行逻辑。

【讨论】:

  • 是的,我禁用了母版页,并在没有母版页的情况下执行了页面。这给出了更快的结果,甚至一半,但同样,慢慢慢。甚至可能在开始向浏览器返回响应之前 15 秒。
  • ANTS 分析器似乎总是移动到代码的 NATIVE 部分。 HTMLWriter 等
【解决方案3】:

您是否尝试过在本地服务器上创建一个新的快速网站来测试速度?尝试创建一个快速的 asp.net 网站并在本地服务器上进行测试。如果这个新网站运行得很快,则可能是您现有网站中的某些内容您不知道。

【讨论】:

    【解决方案4】:

    inbuild开发服务器和你的iis服务器有什么区别吗?

    【讨论】:

    • 一个是64bit iis7,另一个是32bit iis6 两者都存在问题。
    【解决方案5】:

    这可能是一个缓慢的 javascript 吗?阿贾克斯请求?他 asjx 和 aspx 都在做同样的事情吗?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-01-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多