트랜잭션 할당량

  • 릴리스 버전: Xanadu
  • 업데이트 날짜 2024년 08월 01일
  • 읽기2분
  • 트랜잭션 할당량을 사용하면 다양한 유형의 트랜잭션에 대한 할당량 정책을 정의할 수 있습니다. 트랜잭션 할당량은 정책을 위반하는 모든 트랜잭션을 취소하고 사용자에게 취소를 알립니다.

    Transaction Quotas 플러그인은 모든 신규 및 업그레이드된 인스턴스에서 기본적으로 활성화되어 있습니다.
    그림 1. 트랜잭션 취소됨
    취소된 트랜잭션
    또한 트랜잭션 할당량은 취소 메시지를 로그 파일에 경고로 씁니다.
    그림 2. 트랜잭션 취소 로그
    취소된 트랜잭션의 로그

    일반적으로 관리자는 성능이 낮은 쿼리와 스크립트가 시스템 리소스를 소비하지 않도록 트랜잭션 할당량을 설정합니다. 이렇게 하면 트랜잭션이 다른 트랜잭션이 실행되지 않도록 할 만큼 충분한 리소스를 소비하지 않습니다. 또한 관리자는 취소 로그 메시지를 보고 과도한 리소스를 소비할 수 있는 트랜잭션을 식별할 수 있습니다.

    트랜잭션 할당량 작동 방식

    트랜잭션은 트랜잭션을 취소하는 백그라운드 스레드인 할당량 관리자를 사용합니다. 할당량 관리자는 다음 작업을 수행합니다.
    1. 아래 목록과 유사한 활성 트랜잭션 목록을 가져옵니다. 사용자 관리 > 활성 트랜잭션.
    2. 각 트랜잭션을 순환하고 트랜잭션과 일치하는 조건이 있는 모든 할당량 규칙을 확인합니다. 할당량 제한을 초과하는 첫 번째 발생은 트랜잭션 취소를 트리거합니다. 트랜잭션이 변경되거나 새 할당량 규칙이 있는 경우 할당량 관리자가 트랜잭션을 다시 평가합니다.
      주:
      할당량 규칙의 순서 필드는 할당량 규칙을 확인하는 순서에 영향을 줍니다. 할당량 관리자는 순서가 낮은 규칙을 먼저 확인하지만(예: 순서 90 전에 순서 80) 최종적으로 모든 규칙을 확인합니다. 이는 관련된 규칙의 조건에 따라 성능에 미치는 영향이 미미할 수 있습니다.
    3. 지정된 할당량 최대값보다 오래 실행된 경우 트랜잭션을 취소합니다.
    4. 실행 중인 트랜잭션을 로그합니다.
    5. glide.quota.manager.heartbeat 시스템 속성에 의해 제어되는 다음 하트비트까지 절전 모드로 전환됩니다.

    트랜잭션 취소 예시

    트랜잭션은 여러 가지 이유로 취소될 수 있습니다. 다음 표시기를 찾습니다.

    • 최대 실행 시간 초과: 이 메시지는 glide.quota.manager 스레드에서 트랜잭션을 취소할 때 나타납니다.
    • 다른 트랜잭션에 의해 취소됨: 이 메시지는 glide.quota.manager 스레드가 아닌 처음 발급한 세션 스레드에서 트랜잭션을 취소한 경우에 나타납니다.
    • 사용자 요청에 의해 취소됨: 사용자가 빨간색 X 버튼을 클릭하여 실행 중인 트랜잭션을 취소할 때 나타나는 메시지입니다.
    glide.quota.manager에 의해 취소된 트랜잭션을 찾으려면 [Message] [Contains] [maximum execution time exceeded] 조합을 검색합니다. 예:
    Cancelling transaction /home.do - Default-thread-11.0 (maximum execution time exceeded): Thread Default-thread-11.0 (Default-thread-11.0, F530DD111B11111111FC031767DA158E), after 30000ms
    .