Azure Service Fabric - 提高本地性能

Azure Service Fabric - Improve Local Performance

当我在本地部署或运行​​集群时,我在本地机器上面临 资源急剧下降

我想知道您是否可以推荐一种方法来减轻这种负面影响(软件和硬件)?

附加信息:

It is important to understand that the Service Fabric local cluster is not an emulator or simulator. It runs the same platform code that is found on multi-machine clusters. The only difference is that it runs the platform processes that are normally spread across five machines on one machine.

https://azure.microsoft.com/en-us/documentation/articles/service-fabric-get-started-with-a-local-cluster/

尽管我不得不添加一个 SSD,因此 OS 和 Service Fabric 不会在总线资源上竞争。添加该 SSD 并使用 PowerShell 将集群移动到新驱动器(没有 OS 的驱动器)后,我发现效果可以忽略不计。查看性能监视器,似乎大部分 IO 仍在主 (OS) 驱动器上。有什么想法吗?

我有一台具有以下规格的标准开发机器:

这个问题可能也很适合 HW 论坛

Service Fabric SDK 在您的开发机器上创建一个 5 节点集群,这意味着每个系统服务有 5 个实例(进程)。您可以将节点数量减少到 3 个(最小值)。

为此,您必须手动编辑集群清单并重新创建它。清单位于

%ProgramFiles%\Microsoft SDKs\Service Fabric\ClusterSetup\NonSecure\ClusterManifestTemplate.xml

  • 删除NodeType3NodeType4
  • 删除_Node_3_Node_4
  • 更改:ExpectedClusterSize2TargetReplicaSetSize3MinReplicaSetSize2(出现多次;你可以试试这里的值较低,我还没有机会测试它)

注意:每次更新 SDK 时都需要应用这些更改。

保存文件后,重新创建本地集群(例如使用集群管理器托盘应用程序)。

此外,您应该确保在部署应用程序时,它们也具有本地部署的默认值(即实例和分区计数设置为 1)。这些通常出现在 Local.xml 参数文件中。

您可以尝试的最后一件事是将您的服务 EXE 配置为构建为 "Windows Application" 而不是 "Console Application"(在每个服务的项目属性中),这将减少 conhost.exe 进程。