18.5.6.3 MySQL Cluster 관리 클라이언트에서 CLUSTERLOG STATISTICS 사용
NDB
관리 클라이언트 CLUSTERLOG STATISTICS
명령은 출력에 몇 가지 유용한 통계를 볼 수 있습니다. 클러스터의 상태에 대한 정보를 제공하는 카운터는 트랜잭션 코디네이터 (TC) 및 로컬 쿼리 처리기 (LQH)에 의해 5 초 보고서 간격으로 업데이트되며 클러스터 로그에 기록됩니다.
트랜잭션 코디네이터 통계 각 트랜잭션은 하나의 트랜잭션 코디네이터가 있으며, 그것은 다음의 방법 중 하나에 의해 선택됩니다.
라운드 로빈 방식으로
통신의 근접에 의해
(MySQL Cluster NDB 6.3.4 이후 :) 트랜잭션의 시작시에 데이터 배치의 힌트를 지정하여
ndb_optimized_node_selection
시스템 변수를 사용하면 특정 SQL 노드에서 시작 된 트랜잭션에 사용되는 TC의 선택 방법을 확인할 수 있습니다.
동일한 트랜잭션 내의 작업은 모두 같은 트랜잭션 코디네이터가 사용되며 다음과 같은 통계가보고됩니다.
Trans count 이것이 TC 트랜잭션 코디네이터로 사용하여 마지막 기간에 시작된 트랜잭션 수입니다. 이러한 트랜잭션 중 하나는보고 기간의 마지막 커밋 된 중단 된 않거나 커밋 상태로되어있을 수 있습니다.
참고트랜잭션은 TC로 마이그레이션하지 않습니다.
Commit count 이것은 마지막보고 기간에 커밋 된이 TC를 트랜잭션 코디네이터로 사용 된 트랜잭션 수입니다. 이 보고서 기간에 커밋 된 일부 트랜잭션은 이전보고 기간에서 시작 됐을 가능성이 있기 때문에
Commit count
가Trans count
보다 커질 가능성도 있습니다.Read count 이것은 마지막보고 간격에서 시작된이 TC를 트랜잭션 코디네이터로 사용 된 기본 키의 읽기 작업 (간단한 읽기를 포함) 수입니다. 이 숫자에는 고유 인덱스 작업의 일부로 실행되는 읽기도 포함되어 있습니다. 고유 인덱스 읽기 작업은 2 개의 기본 키 읽기 작업 (숨겨진 고유 인덱스 테이블에 하나, 그리고 읽 테이블에 대해 하나)가 발생합니다.
Simple read count 이것은 마지막보고 간격에서 시작된이 TC를 트랜잭션 코디네이터로 사용한 간단한 읽기 작업 수입니다. 이것은
Read count
의 하위 집합입니다.Simple read count
의 값은Read count
와는 다른 시점에서 증가되므로Read count
보다 약간 지연 될 수 있습니다. 따라서 그 시간에 행해진 모든 읽기가 진짜로 간단한 읽기였다 경우에도 특정 보고서 기간Simple read count
가Read count
와 동일 없어지는 것이있을 수 있습니다.Write count 이것은 마지막보고 간격에서 시작된이 TC를 트랜잭션 코디네이터로 사용 된 기본 키의 쓰기 작업 수입니다. 여기에는 고유 인덱스 작업의 일부로 실행되는 쓰기 이외에 모든 삽입, 업데이트, 쓰기 및 삭제도 포함됩니다.
참고고유 인덱스의 업데이트 작업은 인덱스 테이블 및 기본 테이블에서 여러 PK 읽기 및 쓰기 작업이 발생할 수 있습니다.
AttrInfoCount 이것이 TC 트랜잭션 코디네이터로 사용 된 기본 키 조작의 마지막보고 간격에서 수신 된 32 비트 데이터 어의 수입니다. 읽기의 경우이 요청 된 컬럼의 수에 비례합니다. 삽입 및 업데이트의 경우 이것은 기록 된 컬럼의 수, 그리고 데이터의 크기에 비례합니다. 삭제 작업의 경우, 이것은 일반적 제로입니다.
고유 인덱스 작업은 여러 PK 조작이 발생하기 때문에,이 카운트가 증가합니다. 그러나 여기에서는 PK 조작 자체를 설명하기 위해 전송 된 데이터 어 및 전송 된 키 정보는 포함되지 않습니다. 검사를 위해 읽은 컬럼을 설명하기 위해 또는 ScanFilters을 설명하기 위해 전송 된 속성 정보도
AttrInfoCount
는 포함되지 않습니다.Concurrent Operations 이는 지난 보고서 기간 동안 시작되었지만 완료되지 않은이 TC를 트랜잭션 코디네이터로 사용 된 기본 키 또는 스캔 작업 수입니다. 이 카운터는 작업이 시작되면 증가 된 작업이 완료되면 감소됩니다. 이것은 트랜잭션 커밋 후에 이루어집니다. 이 카운터는 실패한 작업뿐만 아니라 더티 읽기 및 쓰기도 감소됩니다.
Concurrent Operations
에 지정 가능한 최대 값은 TC 블록에서 지원할 수있는 최대 작업 수입니다. 현재 이것은(2 * MaxNoOfConcurrentOperations) + 16 + MaxNoOfConcurrentTransactions
입니다. (이 구성 매개 변수에 대한 자세한 내용은 섹션 18.3.2.6 "MySQL Cluster 데이터 노드의 정의" 의 "트랜잭션 매개 변수"절을 참조하십시오.)Abort count 이는 지난 보고서 기간 동안 중단 된이 TC를 트랜잭션 코디네이터로 사용 된 트랜잭션 수입니다. 마지막보고 기간에 중단 된 일부 트랜잭션은 이전보고 기간에서 시작 됐을 가능성이 있기 때문에
Abort count
가Trans count
보다 커질 가능성도 있습니다.Scans 이는 지난 보고서 기간 동안 시작된이 TC를 트랜잭션 코디네이터로 사용한 테이블 스캔 수입니다. 여기에는 범위 스캔 (즉, 정렬 된 인덱스 스캔)은 포함되지 않습니다.
Range scans 이것은 마지막보고 간격에서 시작된이 TC를 트랜잭션 코디네이터로 사용하여 정렬 된 인덱스 스캔 수입니다.
로컬 쿼리 처리기의 통계 (작업) 로컬 쿼리 처리기 블록마다 하나의 클러스터 이벤트 (즉, 데이터 노드 프로세스마다 하나씩)이 있습니다. 작업은 그들이 작업하는 데이터가 존재하는 LQH에 기록됩니다.
단일 트랜잭션이 여러 LQH 블록에 저장된 데이터를 조작하는 경우도 있습니다.
Operations
통계는 지난 보고서 기간이 LQH 블록에 의해 실행 된 로컬 작업 수가 표시되며 모든 유형의 읽기 및 쓰기 작업 (삽입, 업데이트, 쓰기 및 삭제 작업)이 포함됩니다. 여기에는 쓰기를 복제하는 데 사용되는 작업도 포함됩니다. 예를 들어, 2 개의 복제 클러스터에서는 주 복제본에 쓸 기본 LQH에 기록 된 백업에 쓸 백업 LQH에 기록됩니다. 고유 키 조작으로 여러 로컬 작업이 발생할 수 있습니다. 그러나 여기에는 테이블 스캔 또는 정렬 된 인덱스 스캔의 결과로 발생하는 로컬 작업은 포함되지 않고, 계산도되지 않습니다.
프로세스 스케줄러 통계 트랜잭션 코디네이터 및 로컬 쿼리 처리기에 의해보고되는 통계 외에도 각 ndbd 프로세스는 MySQL Cluster의 성능에 대한 유용한 통계 제공하는 스케줄러가 포함되어 있습니다. 이 스케줄러는 무한 루프시에 실행됩니다. 각 루프 중에 스케줄러는 다음 작업을 수행합니다.
소켓에서 작업 버퍼에 수신 메시지를 읽습니다.
시간 지정 메시지가 실행되었는지 여부를 확인합니다. 실행 된 경우 이러한 메시지도 작업 버퍼에 배치합니다.
작업 버퍼링 된 메시지를 (루프) 실행합니다.
작업 버퍼링 된 메시지를 실행하여 생성 된 배달 된 메시지를 보냅니다.
새로운 인바운드 메시지를 수신합니다.
프로세스 스케줄러 통계에는 다음 정보가 포함되어 있습니다.
Mean Loop Counter 이것은 위 목록의 3 번째 단계에서 실행 된 루프의 수입니다. TCP / IP 버퍼 사용률이 개선되면이 통계의 크기가 증가합니다. 이것을 사용하면 새로운 데이터 노드 프로세스를 추가 할 때 성능의 변화를 모니터 할 수 있습니다.
Mean send size 및 Mean receive size 이러한 통계를 사용하면 노드 사이의 쓰기와 읽기의 각각의 효율성을 측정 할 수 있습니다. 값은 바이트 단위로 지정됩니다. 값이 클수록 전송되는 바이트 당 비용이 작아지는 것을 의미합니다. 최대 값은 64K입니다.
NDB
관리 클라이언트에서 다음 명령을 사용하면 클러스터 로그의 통계를 기록 할 수 있습니다.
ndb_mgm> ALL CLUSTERLOG STATISTICS=15
STATISTICS
임계 값을 15으로 설정하면 클러스터 로그가 매우 상세하게되고, MySQL Cluster에서 클러스터 노드의 수와 활동량에 비례하여 크기가 빠르게 증가합니다.
로깅 및보고에 관한 MySQL Cluster 관리 클라이언트 명령에 대한 자세한 내용은 섹션 18.5.6.1 "MySQL Cluster의 기록 관리 명령" 을 참조하십시오.