lsa*_*mon 25 .net asp.net performance garbage-collection
是否有人使用Aspnet.config为多处理器计算机优化了垃圾收集器的配置:
<gcServer enabled="true"/>
<gcConcurrent enabled="true"/>
Run Code Online (Sandbox Code Playgroud)
您网站的效果是否有所改善?
是否注意到任何问题?
Ree*_*sey 20
首先,Concurrent和Server是互斥的选项.有关服务器GC误解的一些详细信息,请参阅此博客文章.但是,ASP.NET默认承载服务器GC(参见Scott Hanselman的讨论),因此没有区别.
我建议坚持使用服务器而不是并发ASP.NET网站.对于用户模式应用程序,并发GC一直是用户响应,因为服务器gc将导致"挂起".
我使用过服务器GC,并注意到某些情况下的重大改进.
但是,服务器模式GC确实可以帮助用户应用程序,如果您的用户应用程序正在使用大量内存池,并且变得高度分散.
(非常老的问题,我知道,但我还是想添加这个)
Server GC 和 Concurrent GC 之间有一个主要区别:Server GC 每个处理器有一个线程,在进行收集时会挂起该处理器上的线程,而 Server Concurrent GC 线程与其他线程并行运行,即没有挂起。请参阅这篇 MSDN 文章以获取更多信息和更细微的差异。
根据一个周期所需的时间,这可能会对应用程序的用户响应能力产生相当大的影响,因此请明智地选择。对于没有 UI 的 ASP.NET,服务器 GC 是更好的(也是默认的)选项。
| 归档时间: |
|
| 查看次数: |
17933 次 |
| 最近记录: |