预编译的ASP.NET网站上的“JIT时间”的高,波动

使用预编译 (可更新)的150 * .dll ASP.NET网站,在应用程序预热后,“JIT时间百分比”的一些可能原因通常很高(> 60%)并且波动很长(访问所有function)并且没有应用程序重新启动或文件更改可能会生成新程序集?

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

参考

  • http://forums.asp.net/p/967386/2959500.aspx

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

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

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