Orleans 2.0 官方文档 —— 5.5.8 集群和客户端 -> 配置指南 -> 配置.NET垃圾收集

配置.NET垃圾收集

为了获得良好的性能,以正确的方式为silo进程配置.NET垃圾回收,就非常重要。我们发现的最佳设置组合是,设置gcServer = true和gcConcurrent = true。这些很容易通过应用程序csproj文件设置。见下面的例子:

.NET Framework和.NET Core

// .csproj

  true
  true

旧.csproj项目格式的.NET Framework

// App.config
<configuration>
  <runtime>
    <gcServer enabled="true"/>
    <gcConcurrent enabled="true"/>
  runtime>
configuration>

但是,如果silo作为Azure工作者角色的一部分运行,而默认情况下,该角色被配置为使用工作站GC,这就不那么容易了。此博客文章介绍了如何为Azure工作者角色设置相同的配置 - https://blogs.msdn.microsoft.com/cclayton/2014/06/05/server-garbage-collection-mode-in-microsoft-azure/

重要的提示

服务器垃圾回收仅在多处理器计算机上可用。因此,即使您通过应用程序csproj文件或通过如上引用的博客文章中的脚本,来配置垃圾收集,如果silo运行在具有单核的(虚拟)计算机上,您将无法从gcServer=true获益。

你可能感兴趣的:(Orleans)