经过数周的测试,我们在ASP.NET生产应用程序上部署了.NET 4.5(从4.0升级)。如我们的测试所示,站点功能可靠。尽管我们正在努力进行工作,但可能会引起其他问题,但仍存在一些差异。
我对垃圾收集性能监视计数器有疑问。在4.5之前,我的经验法则是有10x gen1集合作为gen2,有10x gen0集合作为gen1。基于此,GC计数器的健康快照将是
gen0 1200
gen1 150
gen2 20
现在4.5正在运行10x规则似乎不再适用。我看到的数字更像这样(与之前大致相同的时间):
gen0 850
gen1 650
gen2 400
我还看到了比以前更多的“诱导GC”。
此外,“所有堆中的字节”和“缓存条目”要低得多,但是我们的站点响应速度非常快,并且CPU像以前一样好而低。
部署4.5时,我们没有对4.0应用程序进行任何更改。
我不想解决的问题不在这里,但是看来“正常”已经改变。这有意义吗?
最佳答案
这是一个错误的警报。在4.5迁移之后进行了两周的监视之后,GC计数器确实遵循了原始模式-gen0〜10x gen1〜10x gen2。
一切都很好!现在深入了解为什么不出现编译... :)