负载均衡注意事项

高可用性 (HA) 环境中的 IBM Traveler 服务器将执行其自己的负载均衡以确保实现尽可能最佳的性能和一致的用户体验。

这不应与网络负载均衡器混淆。网络负载均衡器是均衡 Domino® HTTP Server 的流量所必需的。 HTTP 服务器在同步过程中的参与程度有限,并且通常只将请求传递至 IBM Traveler 服务器,因此网络负载均衡器可以使用简单方法。请参阅高可用性的部署核对表,以获取有关网络负载均衡器需求的更多信息。请求传递至 IBM Traveler 服务器后,将对其进行负载均衡以供处理。要了解其完成方法,请务必了解 IBM Traveler 负载均衡术语。

可用性索引

可用性索引 (AI) 只是服务器可用的百分比,并基于当前 CPU 和内存使用率。该值通常为 0-100%,但是如果服务器过载或者已分类为不可用,该值可以为负值。

主监视器

在每个用户的设备第一次连接时,将为该用户分配主监视器。主监视器基本上是 IBM Traveler 服务器,负责处理该用户的一切工作。如果用户连接多个设备,那么每个设备将路由到主监视器进行处理。如果没有任何设备进行连接,主监视器分配将在 24 小时后到期。在连接每个设备时,IBM Traveler 服务器将决定是否应更改主监视器,或者当前没有分配主监视器时将为用户分配哪个服务器。用于分配主监视器的算法在以下部分中进行描述。

可用性索引偏差

在决定哪个服务器应该为特定用户的主监视器时,将使用偏差或权重来提高性能。有两种偏差类型:本地服务器和当前主监视器。本地服务器只是当前本地服务器(例如,网络负载均衡器将连接路由到的服务器)。为缺省本地服务器分配了偏差 10%。当前主监视器偏差用于当前分配为该用户的主监视器的服务器。 缺省主监视器偏差为 20%。如果没有分配主监视器,那么将没有任何服务器获得此偏差。

负载均衡算法

用于在 IBM Traveler 服务器之间均衡流量的算法比较简单。对于来自设备的每个请求,本地服务器将确定哪个服务器是处理请求的最佳服务器。可通过比较每个服务器的 AI 来确定最佳服务器。如果任何偏差应用于某个服务器,偏差将添加到 AI。将选择计算的 AI 最高的服务器。如果此服务器当前不是主监视器,那么会将其分配为用户的主监视器,并将应用主监视器偏差。为了防止系统颠簸,至少 10 分钟内不能再次切换用户的主监视器。下表显示 IBM Traveler 负载均衡的示例。

表 1. 负载均衡示例
服务器 1(本地服务器)偏差 = 10% 服务器 2 无偏差 服务器 3(主监视器)偏差 = 20% 负载均衡胜方和主监视器
®当前 AI AI + 偏差 当前 AI AI + 偏差 当前 AI AI + 偏差  
90 100 90 90 90 110 服务器 3
70 80 90 90 50 70 服务器 2
85 95 90 90 70 90 服务器 1

Notes®.ini 设置

这些 notes.ini 参数可以用于调整上述算法。建议只小幅度更改这些值,并监视系统的性能更改。通常,缺省值应该足够。

表 2. Notes.ini 设置
设置 缺省值 描述
NTS_ROUTE_BIND_HOLD_TIME 60000(毫秒) 特定用户的主监视器在分配之后可以移动之前所需的最短时间。
NTS_ROUTE_LOCAL_BIAS 10(百分比) 添加到本地服务器 AI 的偏差。
NTS_ROUTE_CURRENT_BIAS 20(百分比) 添加到当前主监视器服务器 AI 的偏差。