我正在调整我们的服务器的性能,并尝试指定以下配置,以及设置GCLatencyMode
为LowLatency
.
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
</startup>
<runtime>
<gcServer enabled="true"/>
<gcConcurrent enabled="false"/>
</runtime>
这给了我性能提升,我非常高兴,直到一位同事指出这两种设置在 .Net 4 中是互斥的。
那么这将解决什么配置?当然,GCSettings.IsServerGC
返回 true,并且从设置gcConcurrent
为 false 可以获得非常可衡量的性能增益。
(我将要分析的代码编译到测试工具中,因此虽然它通常是由 IIS 托管的服务器,但我所有的时间都在控制台应用程序上)