我尝试在自己的私有群集上测试服务结构节点平衡机制,但无法弄清楚它为什么不起作用。以下是我采取的步骤:
配置群集资源管理器计时器以定期检查平衡状态为5秒,为我定义为2的度量标准“MemoryUsage”设置平衡阈值,并将此度量标准的节点容量定义为1200。 clustermanifest看起来像: Clustermanifest
创建两个无状态应用程序:一个名为“NodeBalancingTestAppWith500”,其中Defaultload 200,Weight high和实例数为5,另一个名为“NodeBalanceTestStatelessService”,静态加载400,权重高和实例计数1然后将两者都发布到集群。 ApplicationManifest看起来像: ApplicationManifest
我将两个应用程序发布到群集后,5个节点中的负载类似于200,200,600,200和200。 我希望在资源管理器启动后,应该将节点3中带有defaultLoad 200的应用程序“NodeBalancingTestAppWith500”移动到另一个节点。平衡后,它应该看起来像200,400,400,200,200这样吗?
有人可以告诉为什么节点平衡不起作用吗?
答案 0 :(得分:0)
考虑到您已将1200定义为给定指标的节点容量,似乎没有容量违规。如果在SF Explorer中展开节点 - 它会向您显示什么?看一下"容量违规"和"节点剩余容量"列。
其他,设置" MetricBalancingThresholds"确保当前比率(600/200)表明您的集群不平衡的SF -
平衡阈值是触发重新平衡的主要控制。 度量标准的平衡阈值是一个比率。如果负载为 最负载节点上的度量除以上的负载量 最小负载节点超过该度量标准的BalancingThreshold,然后是 集群是不平衡的。结果是下一次触发平衡 群集资源管理器检查的时间。