![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
![[z/OS]](../images/ngzos.gif)
配置紧急调速
随需应变路由器 (ODR) 及相关联的自主管理器能够在请求流密集的情况下,通过对进入服务器的工作做出智能决策来支持业务目标。自主请求流管理器(ARFM)控制 ODR 中的 HTTP 请求优先级划分功能。有时,当特定传感器检测到此类超负荷情况时,将导致紧急情况。这些超负荷情况包括极高的节点利用率、ARFM 控制器与请求调度网关之间的间歇性通信故障以及 AsyncPMI 监视数据生产者与网关之间的间歇性通信故障。为了防止这些情况延续(如果发生),并避免出现随之发生的性能降级,网关配备了紧急调速控制器,可控制并保护到后端节点的请求分派速率。在后端对 IIOP/JMS 请求处理 ARFM。
ARFM 包含两部分:控制器和网关。对于每个节点组而言,通过控制器以及 ODR 中的网关集合来实现 ARFM 功能。ARFM 控制器(如果系统中 eWLM 控制器可用,那么由 eWLM 控制器触发)可以启动发送至网关的典型调速伪指令。在典型方式下,调速伪指令由 ARFM 控制器通过 RatesMessages 发出,且由调速控制器在网关处立即执行。
调速连接至网关中的每个队列,且在缺省情况下处于未调速状态。发生紧急情况时或者当速率消息从 ARFM 控制器到达时,它将接收到来自调速控制器的伪指令以及对已调速状态的更改。
如果一个或多个超负荷传感器检测到超负荷情况,那么尽管处于典型的调速状态,网关调速控制器仍将进入紧急方式。紧急中断传感器检测到 ARFM 控制器与请求调度网关之间的通信发生故障,或者检测到 AsyncPMI 监视数据生产者与网关之间的通信发生故障。术语中断表示传感器未接收到需要的消息。在紧急方式下,调速控制器会逐渐减小网关队列的分派速率,直到超负荷传感器停止触发为止。然后,它会逐渐将速率恢复为它们在进入紧急方式前所具有的原始设置。复原速率时,调速控制器可确保从不超出来自 ARFM 控制器的速率伪指令,从而保持由不同的控制器所做出的调速决策的完整性。这些组件协同工作,从而可以正确地限制入局请求。
多个传感器检测到紧急情况,导致调速控制器进入紧急方式。每个传感器可以处于以下两个状态之一:已触发或未触发。在紧急情况下,调速控制器有两个阶段:emergency_throttle 和 emergency_unthrottle。在 emergency_throttle 阶段,只要其中一个传感器仍在触发,那么调速将减小所有排队速率。在 emergency_unthrottle 阶段,所有传感器都将返回至未触发状态,并逐渐将所有队列速率恢复为它们在进入紧急方式前所具有的原始值。
EnableEmergencyThrottling=true
EnableExternalThrottling=false
- EmergencyRateChangeStep=x,其中 x 是一个介于 0 至 100 之间的整数,用于指定在逐渐减小/增加调速速率的每个步骤中速率的百分比更改。缺省值是 20。
- EmergencyRateChangeInterval=x,其中 x 是紧急方式下两个连续速率更改步骤之间的时间(以毫秒计)。缺省值是 15000。
- EmergencyBlackoutMultiplier=x,其中 x 是一个乘数,与不同的正常消息周期相乘,其积用作紧急中断传感器的输入。EmergencyBlackoutMultiplier 参数是一个配置参数,间接通知传感器在触发前等待的时间。此时间间隔由该参数与连续消息之间的正常预计时间间隔相乘之积确定。缺省值是 2。
- EmergencyCPUUtilLimit=x,其中 x 是一个介于 0 至 100 之间的整数,用于指定后端节点上触发紧急调速的处理器利用率水位标记。缺省值是 100。
- TokenBucketSizeMillis=x,其中 x 是令牌数,可以在令牌桶队列中进行积累。缺省值为 1000。