트랜잭션 할당량
트랜잭션 할당량을 사용하면 다양한 유형의 트랜잭션에 대한 할당량 정책을 정의할 수 있습니다. 트랜잭션 할당량은 정책을 위반하는 모든 트랜잭션을 취소하고 사용자에게 취소 사실을 알립니다.
관리자는 트랜잭션 할당량을 설정하여 성능이 저하된 쿼리 및 스크립트가 시스템 자원을 소비하지 못하도록 할 수 있습니다. 이렇게 하면 다른 트랜잭션이 실행되지 않도록 충분한 자원을 소비하지 않습니다. 또한 관리자는 취소 로그 메시지를 확인하여 자원을 과도하게 소비할 수 있는 트랜잭션을 식별할 수 있습니다.
트랜잭션 할당량 플러그인은 기본적으로 모든 새 인스턴스와 업그레이드된 인스턴스에서 활성화됩니다.
트랜잭션 할당량 작동 방식
트랜잭션은 트랜잭션 할당량 규칙에 따라 트랜잭션을 취소하는 백그라운드 스레드인 할당량 관리자를 사용합니다. 할당량 관리자는 다음 작업을 수행합니다.
- 아래 목록과 비슷한 활성 트랜잭션 목록을 얻습니다. .
- 각 트랜잭션을 순환하고 트랜잭션과 일치하는 조건이 있는 모든 할당량 규칙을 검사합니다. 할당량 한도를 초과하는 첫 번째 발생은 트랜잭션 취소를 트리거합니다. 트랜잭션이 변경되거나 새로운 할당량 규칙이 있는 경우 할당량 관리자는 트랜잭션을 다시 평가합니다.주:할당량 규칙의 순서 필드는 할당량 규칙이 확인되는 순서에 영향을 줍니다. 할당량 관리자는 순서가 낮은 규칙을 먼저 검사하지만(예: 순서 80보다 순서 90) 최종적으로 모든 규칙을 검사합니다. 이는 관련 규칙의 조건에 따라 미미한 성능에 영향을 미칠 수 있습니다.
- 지정된 할당량 최대값보다 오래 실행된 트랜잭션을 취소합니다.
- 실행 중인 트랜잭션을 로그에 기록합니다.
- 다음 하트비트까지 절전 모드로 전환되며, glide.quota.manager.heartbeat 이는 시스템 속성에 의해 제어됩니다.
할당량 초과로 인한 트랜잭션 취소
트랜잭션이 할당량 규칙에 지정된 최대 기간보다 오래 실행되면 사용자에게 취소 및 이유가 통보됩니다.
또한 할당량 초과로 인해 트랜잭션이 취소될 때마다 트랜잭션 취소 로그에 경고가 기록됩니다. 트랜잭션 취소 로그를 보려면 다음으로 이동하십시오. .
트랜잭션 취소 예시
트랜잭션은 둘 이상의 이유로 취소될 수 있습니다. 다음 지표를 찾습니다.
- 최대 실행 시간 초과됨: 이 메시지는 glide.quota.manager 스레드가 트랜잭션을 취소할 때 나타납니다.
- 다른 트랜잭션에 의해 취소됨: 이 메시지는 glide.quota.manager 스레드가 아닌 처음 발급한 세션 스레드에 의해 트랜잭션이 취소되었을 때 나타납니다.
- 사용자 요청에 의해 취소됨: 이 메시지는 사용자가 실행 중인 트랜잭션을 취소하기 위해 빨간색 X 버튼을 선택한 경우에 나타납니다.
glide.quota.manager에 의해 취소된 트랜잭션을 찾으려면 [메시지] [포함] [최대 실행 시간 초과] 조합을 검색합니다. 예:
Cancelling transaction /home.do - Default-thread-11.0 (maximum execution time exceeded): Thread Default-thread-11.0 (Default-thread-11.0, F530DD111B11111111FC031767DA158E), after 30000ms.