在预编译的ASP.NET网站上,“JIT时间的百分比”很高,波动很大

时间:2009-10-19 20:49:39

标签: c# asp.net compiler-construction performance jit

使用预编译(可更新)的150 * .dll ASP.NET网站,“%JIT时间”的可能原因通常是在应用程序预热(访问所有功能)之后很长时间内保持高(> 60%)和波动 应用程序重新启动或文件更改可能会生成新程序集?

可以预期,为所有程序集生成的机器代码将在该app-domain的持续时间内重复使用。缓存的机器代码量是否有限?在什么情况下,同一个程序集需要在同一应用程序域中重新进行JIT?或者是否必然会生成新的程序集?内存压力等因素是否会影响此性能计数器?

参考

2 个答案:

答案 0 :(得分:1)

它可能是任何组件发射的东西。 Linq表达式编译或正则表达式未正确缓存。

答案 1 :(得分:0)

如果要设置缓存参数,则可能会无意中禁用预编译的服务器端缓存。看看这篇文章:

http://codeclimber.net.nz/archive/2007/04/01/Beware-the-ASP.NET-SetCacheability-method.aspx