![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
![[IBM i]](../images/iseries.gif)
会话启动协议超负荷保护
会话启动协议 (SIP) 超负荷可防止系统出现两种超负荷的情况:内存超负荷和 CPU 超负荷。容器管理的超负荷保护 (CMOP) 和代理管理的超负荷保护 (PMOP) 根据超负荷设置信息允许实时保护。
SIP 容器管理的超负荷保护
在独立服务器部署中,SIP 容器管理的超负荷保护 (CMOP) 针对内存和 CPU 超负荷情况提供了唯一的保护。管理员可使用 SIP 容器设置来设置若干个静态阈值。如果超出这些阈值,那么容器将开始对启动新对话的任何请求作出 503 响应以废弃新请求,直到该容器不再处于超负荷状态为止。这包含一些影响内存和 CPU 使用率的设置。
在 ND 部署中,当容器处于超负荷状态时,CMOP 允许容器使用相同的 SIP 容器设置向代理服务器通知这一情况。代理服务器收到此通知以后,它开始废弃新的请求,而不是将它们转发给容器。 无论配置如何,CMOP 将防止 ND 中的所有内存超负荷情况。
- 最大应用程序会话数
- 每平均时间段最大消息数
- 最大响应时间
- 最大分派队列大小
- message.queue.burst.factor
- thread.message.queue.max.size
- weight.overload.watermark
SIP 代理管理的超负荷保护
- 开启或关闭机制的粒度可能过小
- 进入率会变动
- 负载上的绝对上限可能很难建立
- 可以将不稳定负载发送给容器
如果部署了 PMOP,那么代理服务器将对每个容器利用进入率控制器。如果容器处于超负荷状态,那么在一段时间内既不接受也不拒绝新装入,而是向后端容器发送新的工作负载,且不会完全关闭新流量的流动。这样将允许代理服务器向容器提供一致的负载而不超出容器设置的最大值。

SIP 代理服务器根据为容器指定的已配置“每个平均周期的最大消息数 (MMAP)”设置的百分比来计算每个后端容器的消息吞吐量的最大值。消息吞吐量的最大值称为“最大吞吐量因子 (MTF)”。
MTF 在缺省情况下处于禁用状态,并且只能通过指定 maxThroughputFactor 定制属性的值进行启用。为 MTF 定制属性指定的值应小于 100%,以防止容器上的 CPU 超负荷。 例如,可将此值设置为 90%。
当 MTF 定制属性的值设置为小于 100% 时,容器的总吞吐量应从不超出为 MMAP 容器设置指定的最大值。此过程可防止容器在出现超负荷的情况时处理过多的负载。
需要稳定和准确的超负荷保护时应总是指定 MTF 值。 如果指定 MTF 设置,就可以为高达系统容量两倍的负载提供最佳的效果。配置超负荷保护时应考虑系统容量。
- 在代理服务器上管理的每个服务器的速率控制
- 自动按秒进行调节的进入率控制器
- 用于控制速率的对话内与非对话平均值比率
- 处于超负荷状态时自动减小速率
- 吸收快速负载转换的能力
- 允许突发的临时短期负载而不会触发超负载的突发容限
- 集群中存在转换时可防止过度超负荷的稳定性控制
- burstResetFactor
- deflatorRatio
- dropOverloadPackets
- inDialogAveragingPeriod
- maxThroughputFactor
- outDialogAveragingPeriod
- perSecondBurstFactor
- proxyTransitionPeriod
- sipProxyStartupDelay