不久前,我们获得了手动压缩大对象堆 (LOH) 的能力。我通读了GCSettings.LargeObjectHeapCompactionMode Property。我无法理解的是,是否应该定期将此属性设置为GCLargeObjectHeapCompactionMode.CompactOnce以确保长期存在的 IIS 应用程序池的健康,即手动请求 LOH 压缩。
我明白这主要是特定设计的问题,即常见的请求/响应配置文件、WCF 结构等。但是有一般规则吗?是否听起来像“在您确定需要手动压缩之前永远不要进行手动压缩”?
最近,我对 7 年前开发的 ASP.NET 应用程序进行了一轮重构。当它被开发出来时,我不会考虑它会处理 100k 长度的请求,或者它必须准备那个长度的响应。真是个菜鸟。它每隔一秒做一次。手动压缩在我对其进行大修并尽可能发明缓冲和流式传输的期间有所帮助。现在我正在考虑留下手动压缩以防万一。我完全错了吗?