Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ASP.Net web应用程序中的随机高JIT时间_C#_Asp.net_.net_Iis_Jit - Fatal编程技术网

C# ASP.Net web应用程序中的随机高JIT时间

C# ASP.Net web应用程序中的随机高JIT时间,c#,asp.net,.net,iis,jit,C#,Asp.net,.net,Iis,Jit,我们的asp.net应用程序目前在性能方面遇到了大量问题。已经进行了各种调查,目前唯一突出的是工作进程的“%time in JIT”性能计数器 在一个网站上,这往往会不断上升到90-95%,但很难确定这是否有任何真正的意义,或者仅仅是一个骗局。站点是在发布模式下发布的,编译调试标志设置为false,完全JIT在初始加载时按预期发生,但是,在站点周围导航时,我们仍然会在JIT时间计数器中获得这些恒定峰值。是否有人能够帮助了解该时间是如何计算的,以及它是否是可靠的绩效指标 更奇怪的是,在本地IIS安

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

在一个网站上,这往往会不断上升到90-95%,但很难确定这是否有任何真正的意义,或者仅仅是一个骗局。站点是在发布模式下发布的,编译调试标志设置为false,完全JIT在初始加载时按预期发生,但是,在站点周围导航时,我们仍然会在JIT时间计数器中获得这些恒定峰值。是否有人能够帮助了解该时间是如何计算的,以及它是否是可靠的绩效指标

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

到目前为止,我一直在研究与这个计数器相关的问题,包括LINQ查询、正则表达式和通过反射的调用,但运气不太好

非常感谢您的任何建议/帮助,
谢谢。

您是否已验证已在web.config文件中关闭调试

<compilation debug="false"/>


您也可以省略debug属性,因为默认值为
false
,但出于故障排除的目的,我会显式设置它。

您是否尝试重新设置?应用程序池中有任何疯狂的设置吗?你能分析该应用程序或附加调试器吗?没有尝试过NGEN,但一直在查看它,所以现在再看一看。不确定它是否能解决当前的问题,但尝试也无妨。NGEN唯一的缺点是必须在主机(本例中为Web服务器)上运行它。没有我所知道的“疯狂”设置,并且已经对内存进行了分析,但是没有什么真正的问题。您是否检查了事件日志以查看这是否与应用程序池回收一致(jit是否仅在应用程序池回收后发生?)谢谢,但我们有此设置。作为构建过程的一部分,我们确保将该值设置为false。