![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
![[z/OS]](../images/ngzos.gif)
긴급 조절 구성
ODR(On Demand Router) 및 연관된 자율 관리자는 서버로부터 오는 작업에 관한 현명한 결정을 수행하여 격렬한 요청 플로우가 있을 때 비즈니스 목표를 지원할 수 있습니다. 자율 요청 플로우 관리자(ARFM)가 ODR에서 HTTP 요청 우선순위화를 제어합니다. 이때, 특정 센서가 그런 과부하 상황을 발견할 때 긴급 조건이 만들어집니다. 이런 과부하 상황에는 극히 높은 노드 이용률, ARFM 컨트롤러와 요청 스케줄링 게이트웨이 사이의 간헐적인 통신 장애, AsyncPMI 모니터링 데이터 생성기와 게이트웨이 사이의 간헐적인 통신 장애가 포함됩니다. 이런 상태가 발생하는 경우 장기화 및 동반된 성능 저하를 막기 위해, 게이트웨이가 백엔드 노드로의 요청 디스패치 비율을 제어하고 보호하는 비상 조절 제어기와 함께 제공됩니다. ARFM은 IIOP/JMS 요청에 대한 백엔드에서 처리됩니다.
ARFM에는 제어기와 게이트웨이의 두 파트가 있습니다. ARFM 기능은 제어기와 ODR의 게이트웨이 콜렉션에 의해 각 노드 그룹에 대해 구현됩니다. ARFM 제어기(시스템에서 사용 가능한 경우 eWLM 제어기에 의해 트리거됨)가 게이트웨이로 일반적인 조절 지시문을 시작할 수 있습니다. 일반 모드에서 조절 지시문은 RatesMessages를 통해 ARFM 제어기로부터 오며, 조절 제어기에 의해 게이트웨이에서 즉시 시행됩니다.
조절은 게이트웨이의 각 큐에 첨부되며, 기본적으로 조절 상태에 있지 않습니다. 비상 상황이 발생할 때나 비율 메시지가 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입니다.