ASP.Net网络应用程序中的随机高JIT时间

时间:2012-11-29 14:49:49

标签: c# asp.net .net iis jit

我们的asp.net应用程序目前遇到了大量关于性能的问题。已经进行了各种调查,目前唯一突出的是工作流程的“JIT时间”性能计数器。

在一个网站上,这往往会持续高达90-95%,但很难确定这是否具有任何实际意义或仅仅是一个红色的鲱鱼。该站点以发布模式发布,编译调试标志设置为false,初始加载时按预期发生完整JIT,但是,当在站点周围导航时,我们仍然在JIT时间计数器中​​获得这些持续峰值。是否有人能够帮助知道如何计算这个时间以及它是否是一个可靠的绩效指标?

更糟糕的是,在本地IIS安装上测试Web应用程序,我再次注意到,初始JIT按预期发生,但“JIT中的%时间”计数器中的峰值仅发生在初始加载每个页面 - 如果我然后立即刷新该页面,则计数器保持为0.如果我等待几分钟然后再次刷新该页面,则计数器会出现峰值。这有什么理由应该发生吗?这几乎就好像页面是JIT编译然后缓存了几分钟。

到目前为止,我一直在关注此计数器的观点是LINQ查询,正则表达式和通过反射调用,但没有太多运气。

非常感谢任何建议/协助, 感谢。

1 个答案:

答案 0 :(得分:0)

您是否确认已在web.config文件中关闭了调试?

<compilation debug="false"/>

您也可以省略debug属性,因为默认值为false,但出于疑难解答的目的,我会明确设置它。