我有一个部署到Service Fabric Cluster的微服务。该服务在其CPU消耗方面行为不端,并且在同一VM上运行的其他服务的性能降低。我们有诊断信息引导我们修复它,但同时我们需要它在一个治理状态下运行,直到我们可以验证修复。我们的集群目前尚未设置为与Container一起使用,这可能是未来类似事情的长期解决方案。但是,在短期内,是否存在Service Fabric正常运行以将此服务注册为Windows作业并限制其CPU消耗的危险?我们已对其进行了测试并且它似乎可行,但我们我想确保这不会对Service Fabric的运作方式产生副作用。
答案 0 :(得分:2)
是的,您可以配置资源治理以将进程限制为一定数量的核心。文档here。
<ServiceManifestImport>
<ServiceManifestRef ServiceManifestName='ServicePackageA' ServiceManifestVersion='v1'/>
<Policies>
<ServicePackageResourceGovernancePolicy CpuCores="1"/>
<ResourceGovernancePolicy CodePackageRef="CodeA1" CpuShares="512" MemoryInMB="1000" />
<ResourceGovernancePolicy CodePackageRef="CodeA2" CpuShares="256" MemoryInMB="1000" />
</Policies>
</ServiceManifestImport>