c# - ASP.Net Web 应用程序中的随机高 JIT 时间

标签 c# asp.net .net iis jit

我们的 asp.net 应用程序目前遇到大量与性能相关的问题。一直在进行各种调查,目前唯一突出的是工作进程的“JIT 时间百分比”性能计数器。

在一个网站上,这往往会不断飙升至 90-95%,但很难确定这是否具有任何实际意义,或者仅仅是转移注意力。该站点以 Release模式发布,编译调试标志设置为 false,如预期的那样,完全 JIT 在初始加载时发生,但是,在站点周围导航时,我们仍然会在 JIT 时间计数器中​​看到这些持续的峰值。有谁能帮助了解这个时间是如何计算的,以及它是否是可靠的性能指标?

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

到目前为止,我一直关注的与此计数器相关的要点是 LINQ 查询、正则表达式和通过反射调用,但运气不佳。

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

最佳答案

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

<compilation debug="false"/>

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

关于c# - ASP.Net Web 应用程序中的随机高 JIT 时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13628332/

相关文章:

.net - 如何编译着色器 fx 文件以在 WPF 中使用?

c# - 将托管回调传递给 DllImport (ed) 函数

c# - 消除.net lambda 表达式

c# - 在 C# 中按值对 NameValueCollection 进行排序

c# - Newtonsoft.Json CustomContractResolver 排除空对象节点

c# - 我如何强命名非托管 C++ Dll?

html - 图像在 IE 中显示,而不是 Chrome 或 Firefox - http ://localhost:11/myFile being Prepended

asp.net - css 960 网格系统问题

asp.net - 如何在 ASP.NET gridview 的标题中放置一个按钮?

.net - 有没有一种方法可以使用 c# 或 vb 从 xml 递归地找到最里面的节点