트랜잭션 할당량
트랜잭션 할당량을 사용하면 다양한 유형의 트랜잭션에 대한 할당량 정책을 정의할 수 있습니다. 트랜잭션 할당량은 정책을 위반하는 모든 트랜잭션을 취소하고 사용자에게 취소를 알립니다.
관리자는 트랜잭션 할당량을 설정하여 성능이 저하된 쿼리 및 스크립트가 시스템 자원을 소비하지 않도록 할 수 있습니다. 이렇게 하면 다른 트랜잭션이 실행되지 않을 만큼 충분한 자원을 소비하는 트랜잭션이 없습니다. 또한 관리자는 취소 로그 메시지를 확인하여 과도한 자원을 소비할 수 있는 트랜잭션을 식별할 수 있습니다.
Transaction Quotas 플러그인은 모든 새 인스턴스와 업그레이드된 인스턴스에서 기본적으로 활성화됩니다.
트랜잭션 할당량 작동 방식
트랜잭션은 트랜잭션 할당량 규칙에 따라 트랜잭션을 취소하는 백그라운드 스레드인 할당량 관리자를 사용합니다. 할당량 관리자는 다음 작업을 수행합니다.
- 아래 목록과 유사한 활성 트랜잭션 목록을 가져옵니다. .
- 각 트랜잭션을 순환하고 트랜잭션과 일치하는 조건으로 모든 할당량 규칙을 확인합니다. 할당량 한도를 초과하는 첫 번째 발생은 트랜잭션 취소를 트리거합니다. 트랜잭션이 변경되거나 새 할당량 규칙이 있는 경우 할당량 관리자는 트랜잭션을 다시 평가합니다.주:할당량 규칙의 순서 필드는 할당량 규칙을 확인하는 순서에 영향을 줍니다. 할당량 관리자는 순서가 낮은 규칙을 먼저 검사하지만(예: 순서 90보다 순서 80이 먼저) 최종적으로는 모든 규칙을 검사합니다. 이는 관련된 규칙의 조건에 따라 성능에 미미한 영향을 미칠 수 있습니다.
- 트랜잭션이 지정된 할당량 최대값보다 오래 실행된 경우 트랜잭션을 취소합니다.
- 실행 중인 트랜잭션을 로깅합니다.
- 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.