Red Hat Training

A Red Hat training course is available for RHEL 8

10.2. pminfo 툴을 사용하여 사용 가능한 성능 지표에 대한 정보 표시

pminfo 툴은 사용 가능한 성능 지표에 대한 정보를 표시합니다. 다음 예제에서는 이 툴을 사용하여 표시할 수 있는 다양한 GFS2 지표를 보여줍니다.

10.2.1. 파일 시스템별로 현재 존재하는 glock 구조 수 검사

GFS2 glock 메트릭은 마운트된 각 GFS2 파일 시스템 및 해당 잠금 상태에 대해 현재 코어 수에 대한 glock 구조 수에 대한 통찰력을 제공합니다. GFS2에서 glock은 DLM을 결합하고 단일 상태 시스템으로 캐싱하는 데이터 구조입니다. 각 glock은 단일 DLM 잠금을 사용하는 1:1 매핑을 제공하며, 잠금 상태에 대한 캐싱을 제공하므로 단일 노드에서 수행되는 반복적인 작업이 DLM을 반복적으로 호출할 필요가 없으므로 불필요한 네트워크 트래픽을 줄일 수 있습니다.

다음 pminfo 명령은 마운트된 GFS2 파일 시스템당 glock 수 목록을 잠금 모드로 표시합니다.

# pminfo -f gfs2.glocks

gfs2.glocks.total
    inst [0 or "afc_cluster:data"] value 43680
    inst [1 or "afc_cluster:bin"] value 2091

gfs2.glocks.shared
    inst [0 or "afc_cluster:data"] value 25
    inst [1 or "afc_cluster:bin"] value 25

gfs2.glocks.unlocked
    inst [0 or "afc_cluster:data"] value 43652
    inst [1 or "afc_cluster:bin"] value 2063

gfs2.glocks.deferred
    inst [0 or "afc_cluster:data"] value 0
    inst [1 or "afc_cluster:bin"] value 0

gfs2.glocks.exclusive
    inst [0 or "afc_cluster:data"] value 3
    inst [1 or "afc_cluster:bin"] value 3

10.2.2. 유형별로 파일 시스템당 존재하는 glock 구조 수 검사

GFS2 glstats 메트릭은 각 파일 ystem에 대해 존재하는 각 glock의 수를 제공하며, 이러한 지표는 일반적으로 inode(inode 및 metadata) 또는 리소스 그룹(resource group metadata) 유형 중 하나입니다.

다음 pminfo 명령은 마운트된 GFS2 파일 시스템당 각 Glock 유형 목록을 표시합니다.

# pminfo -f gfs2.glstats

gfs2.glstats.total
    inst [0 or "afc_cluster:data"] value 43680
    inst [1 or "afc_cluster:bin"] value 2091

gfs2.glstats.trans
    inst [0 or "afc_cluster:data"] value 3
    inst [1 or "afc_cluster:bin"] value 3

gfs2.glstats.inode
    inst [0 or "afc_cluster:data"] value 17
    inst [1 or "afc_cluster:bin"] value 17

gfs2.glstats.rgrp
    inst [0 or "afc_cluster:data"] value 43642
    inst [1 or "afc_cluster:bin"] value 2053

gfs2.glstats.meta
    inst [0 or "afc_cluster:data"] value 1
    inst [1 or "afc_cluster:bin"] value 1

gfs2.glstats.iopen
    inst [0 or "afc_cluster:data"] value 16
    inst [1 or "afc_cluster:bin"] value 16

gfs2.glstats.flock
    inst [0 or "afc_cluster:data"] value 0
    inst [1 or "afc_cluster:bin"] value 0

gfs2.glstats.quota
    inst [0 or "afc_cluster:data"] value 0
    inst [1 or "afc_cluster:bin"] value 0

gfs2.glstats.journal
    inst [0 or "afc_cluster:data"] value 1
    inst [1 or "afc_cluster:bin"] value 1

10.2.3. 대기 상태에 있는 glock 구조의 수 확인

가장 중요한 홀더 플래그는 H (holder: 요청된 잠금이 부여됨) 및 W (wait: 요청이 완료될 때까지 기다리는 동안 설정)입니다. 이러한 플래그는 부여된 잠금 요청 및 대기 중인 잠금 요청에 각각 설정됩니다.

다음 pminfo 명령은 마운트된 각 GFS2 파일 시스템의 Wait (W) holder 플래그와 함께 glock 수 목록을 표시합니다.

# pminfo -f gfs2.holders.flags.wait

gfs2.holders.flags.wait
    inst [0 or "afc_cluster:data"] value 0
    inst [1 or "afc_cluster:bin"] value 0

리소스 그룹 잠금에 대기 중인 대기 요청이 여러 개 표시되면 이에 대한 여러 가지 이유가 있을 수 있습니다. 하나는 파일 시스템의 리소스 그룹 수와 비교하여 많은 수의 노드가 있다는 것입니다. 또 다른 하나는 파일 시스템이 매우 완전할 수 있다는 것입니다 (중대적으로, 자유 블록을 더 긴 검색 등). 두 경우의 상황은 더 많은 스토리지를 추가하고 gfs2_grow 명령을 사용하여 파일 시스템을 확장하여 개선할 수 있습니다.

10.2.4. 커널 추적 포인트 기반 메트릭을 사용하여 파일 시스템 작업 대기 시간 확인

GFS2 PMDA는 GFS2 커널 추적 지점에서 지표 수집을 지원합니다. 기본적으로 이러한 메트릭의 읽기는 비활성화되어 있습니다. 이러한 메트릭을 활성화하면 지표 값을 채우기 위해 지표가 수집될 때 GFS2 커널 추적 포인트를 켭니다. 이 기능은 이러한 커널 추적 메트릭이 활성화된 경우 성능 처리량에 약간의 영향을 미칠 수 있습니다.

PCP는 pmstore 툴을 제공하여 메트릭 값에 따라 PMDA 설정을 수정할 수 있습니다. gfs2.control.* 메트릭을 사용하면 GFS2 커널 추적 지점을 편집할 수 있습니다. 다음 예제에서는 pmstore 명령을 사용하여 모든 GFS2 커널 추적 포인트를 활성화합니다.

# pmstore gfs2.control.tracepoints.all 1
gfs2.control.tracepoints.all old value=0 new value=1

이 명령이 실행되면 PMDA는 debugfs 파일 시스템의 모든 GFS2 추적점에서 전환합니다. PCP의 GFS2에 대한 "Complete Metric List" 표는 각 제어 추적 지점 및 사용량을 설명합니다. 각 제어 추적 지점의 영향에 대한 설명과 사용 가능한 옵션에 대한 설명은 pminfo 의 도움말 전환을 통해 사용할 수 있습니다.

GFS2는 메트릭을 파일 시스템에 대한 승격 요청 수를 계산합니다. 이러한 요청은 첫 번째 시도에서 발생한 요청 수와 초기 승격 요청 후 부여된 "기타" 요청으로 구분됩니다. "기타" 승격이 증가하여 처음으로 승격되는 경우 파일 경합에 문제가 있음을 나타낼 수 있습니다.

승격 요청 지표와 같은 GFS2 데모 요청 메트릭은 파일 시스템에서 발생하는 데모 요청 수를 계산합니다. 그러나 이는 현재 노드에서 제공된 요청과 시스템의 다른 노드에서 가져온 요청 간에도 분할됩니다. 원격 노드의 많은 데모 요청은 지정된 리소스 그룹에 대한 두 노드 간의 경합을 나타낼 수 있습니다.

pminfo 툴은 사용 가능한 성능 지표에 대한 정보를 표시합니다. 다음 절차에서는 마운트된 각 GFS2 파일 시스템의 Wait (W) holder 플래그와 함께 glock 수 목록을 표시합니다. 다음 pminfo 명령은 마운트된 각 GFS2 파일 시스템의 Wait (W) holder 플래그와 함께 glock 수 목록을 표시합니다.

# pminfo -f gfs2.latency.grant.all gfs2.latency.demote.all

gfs2.latency.grant.all
    inst [0 or "afc_cluster:data"] value 0
    inst [1 or "afc_cluster:bin"] value 0

gfs2.latency.demote.all
    inst [0 or "afc_cluster:data"] value 0
    inst [1 or "afc_cluster:bin"] value 0

워크로드가 실행될 때 모니터링되는 일반적인 값을 결정하는 것이 좋습니다. 문제 없이 이러한 값이 정상 범위와 다를 때 성능 변경 사항을 확인할 수 있습니다.

예를 들어 첫 번째 시도 시 완료되는 대신 대기 중인 승격 요청 수의 변경으로 인해 다음 명령의 출력이 결정할 수 있습니다.

# pminfo -f gfs2.latency.grant.all gfs2.latency.demote.all

gfs2.tracepoints.promote.other.null_lock
     inst [0 or "afc_cluster:data"] value 0
     inst [1 or "afc_cluster:bin"] value 0

gfs2.tracepoints.promote.other.concurrent_read
     inst [0 or "afc_cluster:data"] value 0
     inst [1 or "afc_cluster:bin"] value 0

gfs2.tracepoints.promote.other.concurrent_write
     inst [0 or "afc_cluster:data"] value 0
     inst [1 or "afc_cluster:bin"] value 0

gfs2.tracepoints.promote.other.protected_read
     inst [0 or "afc_cluster:data"] value 0
     inst [1 or "afc_cluster:bin"] value 0

gfs2.tracepoints.promote.other.protected_write
     inst [0 or "afc_cluster:data"] value 0
     inst [1 or "afc_cluster:bin"] value 0

gfs2.tracepoints.promote.other.exclusive
     inst [0 or "afc_cluster:data"] value 0
     inst [1 or "afc_cluster:bin"] value 0

다음 명령의 출력에서는 원격 데모 요청(특히 다른 클러스터 노드에서 발생하는 경우)의 증가를 결정할 수 있습니다.

# pminfo -f gfs2.tracepoints.demote_rq.requested

gfs2.tracepoints.demote_rq.requested.remote
     inst [0 or "afc_cluster:data"] value 0
     inst [1 or "afc_cluster:bin"] value 0

gfs2.tracepoints.demote_rq.requested.local
     inst [0 or "afc_cluster:data"] value 0
     inst [1 or "afc_cluster:bin"] value 0

다음 명령의 출력은 설명되지 않은 로그 플러시 횟수를 나타낼 수 있습니다.

# pminfo -f gfs2.tracepoints.log_flush.total]

gfs2.tracepoints.log_flush.total
     inst [0 or "afc_cluster:data"] value 0
     inst [1 or "afc_cluster:bin"] value 0