Menu Close
Settings Close

Language and Page Formatting Options

Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

5.2. 성능 관련 문제 모니터링 및 진단

Red Hat Enterprise Linux 7에서는 시스템 성능을 모니터링하고 시스템 프로세스 및 설정과 관련된 성능 문제를 진단하는데 유용한 여러 도구가 있습니다. 다음 부분에서는 프로세서 관련 성능 문제를 모니터링하고 진단하기 위해 사용 가능한 도구 및 사용 방법에 대해 설명합니다.

5.2.1. vmstat로 시스템 성능 모니터링

Vmstat는 시스템 전체의 프로세스, 메모리, 페이징, I/O 블록, 인터럽트, CPU 동작에 대해 보고합니다. 이를 통해 관리자는 I/O 서브 시스템이 성능 문제에 관련있는지를 판단할 수 있습니다.
I/O 성능 관련 정보는 다음에서 확인하십시오:
si
스왑인 또는 스왑 영역에 쓰기 (KB 단위)
so
스왑 아웃 또는 스왑 영역에서 읽기 (KB 단위)
bi
블록인 또는 쓰기 동작 블록 (KB 단위)
bo
블록 아웃 또는 읽기 동작 블록 (KB 단위)
wa
I/O 작업 완료를 기다리는 큐 부분
스왑인과 스왑 아웃 기능은 스왑 영역 및 데이터가 동일한 장치에 있는 경우 메모리 사용량을 표시하는데 특히 유용합니다.
또한 free, buff, cache 칼럼은 쓰기 저장 빈도를 확인하는데 유용합니다. cache 값이 갑자기 내려가고 free 값이 증가하는 경우 쓰기 저장 및 페이지 캐시 무효화가 시작되었음을 나타내는 것입니다.
vmstat 분석에서 I/O 서브시스템이 성능 저하와 관련된 것으로 표시되는 경우 관리자는 iostat를 사용하여 I/O 장치를 지정할 수 있습니다.
vmstatprocps-ng 패키지로 제공됩니다. vmstat에 관한 보다 자세한 내용은 man 페이지에서 참조하십시오:
$ man vmstat

5.2.2. iostat로 I/O 성능 모니터링

Iostatsysstat 패키지에서 제공됩니다. 이는 시스템에서 I/O 장치 로드를 보고합니다. vmstat 분석에서 I/O 서브시스템이 성능 저하와 관련된 것으로 표시되는 경우 관리자는 iostat를 사용하여 I/O 장치를 지정할 수 있습니다.
iostat man 페이지에 지정된 매개 변수를 사용하여 특정 장치의 iostat 출력 보고에 중점을 둘 수 있습니다:
$ man iostat

5.2.2.1. blktrace로 고급 I/O 분석

Blktrace는 I/O 서브시스템에서 시간이 배분된 방법에 대한 상세 정보를 제공합니다. 제공된 유틸리티 blkparseblktrace에서 원시 출력을 읽고 blktrace에 의해 기록되는 입/출력 동작 요약을 읽기 쉬운 형태로 제공합니다.
이 도구에 대한 보다 자세한 내용은 man 페이지에서 참조하십시오:
$ man blktrace
$ man blkparse

5.2.2.2. btt로 blktrace 출력 분석

Bttblktrace 패키지의 일부로 제공됩니다. 이는 blktrace 출력을 분석하여 각각의 I/O 스택 영역에서 데이터가 소비하는 시간을 표시하므로 I/O 하위 시스템에서 병목 현상 지점을 쉽게 감지할 수 있습니다.
예를 들어 btt에서 블록 계층 (Q2Q)에 전송된 요청 사이의 시간이 블록 계층 (Q2C)에서 소비한 총 요청 시간 보다 길게 표시될 경우 I/O 서브 시스템은 성능 문제와 연관이 없을 수 있습니다. 장치가 요청 (D2C)을 처리하는데 소요되는 시간이 긴 경우 장치는 과부하되거나 장치에 전송된 워크로드가 최적의 것이 아님을 의미하는 것일 수 있습니다. 블록 I/O가 요청 (Q2G)을 지정하기 전 오랜 시간 동안 대기 중인 경우 사용 중인 스토리지가 I/O 로드를 처리할 수 없음을 의미합니다.
이 도구에 대한 보다 자세한 내용은 man 페이지에서 참조하십시오:
$ man btt

5.2.2.3. seekwatcher로 blktrace 출력 분석

seekwatcher 도구는 blktrace 출력을 사용하여 I/O 시간 경과를 그래프화할 수 있습니다. 이는 디스크 I/O의 LBA (Logical Block Address), 초당 처리 능력 (MB 단위), 초당 검색 수, 초당 I/O 작업 수에 중점을 둡니다. 이는 초당 작업 수가 장치의 한계에 도달했는지 확인하는데 유용합니다.
이 도구에 대한 보다 자세한 내용은 man 페이지에서 참조하십시오:
$ man seekwatcher

5.2.3. SystemTap을 사용한 스토리지 모니터링

Red Hat Enterprise Linux 7 SystemTap Beginner's Guide에는 스토리지 성능을 모니터링 및 프로파일링하는데 유용한 여러 스크립트 예제가 들어 있습니다.
다음의 SystemTap 스크립트 예제는 스토리지 성능과 관련되어 있으며 스토리지나 파일 시스템 성능 문제를 진단하는데 유용합니다. 이는 기본적으로 /usr/share/doc/systemtap-client/examples/io 디렉토리에 설치됩니다.
disktop.stp
5 초 마다 디스크 읽기/쓰기 상태를 확인하고 상위 10 개 항목을 출력합니다.
iotime.stp
읽기 및 쓰기 동작에 소요된 시간과 읽기 및 쓰기 바이트 수를 출력합니다.
traceio.stp
매 초 마다 누적된 I/O 트랙픽에 따라 상위 10 개의 실행 파일을 출력합니다.
traceio2.stp
지정한 장치에 읽기 및 쓰기가 발생하면 실행 파일 이름 및 프로세스 ID를 출력합니다.
inodewatch.stp
지정된 메이저/마이너 장치에 지정된 inode에 읽기 또는 쓰기가 발생할 때 마다 실행 파일 이름 및 프로세스 ID를 출력합니다.
inodewatch2.stp
지정된 메이저/마이너 장치에 지정된 inode에 속성이 변경할 때마다 실행 파일 이름, 프로세스 ID, 속성을 출력합니다.
Red Hat Enterprise Linux 7 SystemTap Beginner's Guidehttp://access.redhat.com/site/documentation/Red_Hat_Enterprise_Linux/에서 확인하실 수 있습니다.