웹사이트 검색

Linux에서 디스크 I/O 성능을 모니터링하는 3가지 최고의 도구


요약: 이 가이드에서는 Linux 서버에서 디스크 I/O 활동(성능)을 모니터링하고 디버깅하는 최고의 도구에 대해 설명합니다.

Linux 서버에서 모니터링할 핵심 성능 지표는 디스크 I/O(입력/출력) 활동입니다. 이는 Linux 서버의 여러 측면, 특히 디스크, 파일 또는 데이터(특히 디스크에서 저장 또는 검색 속도)에 큰 영향을 미칠 수 있습니다. 데이터베이스 서버에서). 이는 애플리케이션과 서비스의 성능에 파급 효과를 줍니다.

1. iostat – 장치 입력 및 출력 통계 표시

iosat는 블록 장치 및 파티션에 대한 CPU 통계 및 I/O 통계를 보고하기 위해 설계된 널리 사용되는 유틸리티인 sysstat 패키지에 있는 많은 터미널 기반 시스템 모니터링 유틸리티 중 하나입니다.

Linux 서버에서 iostat를 사용하려면 Linux 배포판에 해당하는 명령을 실행하여 Linux 시스템에 sysstat 패키지를 설치해야 합니다.

sudo apt install sysstat          [On Debian, Ubuntu and Mint]
sudo yum install sysstat          [On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux]
sudo emerge -a app-admin/sysstat  [On Gentoo Linux]
sudo apk add sysstat              [On Alpine Linux]
sudo pacman -S sysstat            [On Arch Linux]
sudo zypper install sysstat       [On OpenSUSE]    

간단한 장치 사용률 보고서를 표시하려면 -d 명령줄 옵션과 함께 iostat을 실행하세요. 일반적으로 첫 번째 보고서는 시스템 시작 이후 시간(부팅 시간)에 대한 통계를 제공하고 각 후속 보고서는 이전 보고서 이후의 시간과 관련됩니다.

확장된 통계 보고서에는 -x를 사용하고 각 보고서에 대한 시간을 활성화하려면 -t 플래그를 사용하십시오. 또한 보고서 출력에서 활동이 없는 장치를 제거하려면 -z 플래그를 추가하세요.

iostat -d -t 
OR
iostat -d -x -t 

초당 블록이 아닌 초당 킬로바이트 단위로 통계를 표시하려면 -k 플래그를 추가하거나, 초당 메가바이트 단위로 통계를 표시하려면 -m 플래그를 사용하세요.

iostat -d -k
OR
iostat -d -m

iostatx초 간격으로 지속적인 장치 보고서를 표시할 수도 있습니다. 예를 들어 다음 명령은 2초 간격으로 보고서를 표시합니다.

iostat -d 2

이전 명령과 관련하여 x초 간격으로 n개의 보고서를 표시할 수 있습니다. 다음 명령은 2초 간격으로 10개의 보고서를 표시합니다.

iostat -d 2 10

또는 나중에 분석하기 위해 보고서를 파일에 저장할 수 있습니다.

iostat -d 2 10 > disk_io_report.txt &

보고서 열에 대한 자세한 내용은 iostat 매뉴얼 페이지를 읽어보세요.

man iostat

2. sar – Linux 시스템 활동 표시

sar는 시스템 활동 정보를 수집, 보고 또는 저장하기 위해 sysstat 패키지와 함께 제공되는 또 다른 유용한 유틸리티입니다. 사용을 시작하기 전에 다음과 같이 설정해야 합니다.

먼저 /etc/default/sysstat 파일에서 데이터를 수집하도록 활성화합니다.

vi /etc/default/sysstat

다음 줄을 찾아 표시된 대로 값을 “true”로 변경합니다.

ENABLED="true"

다음으로 sysstat 크론 작업에 정의된 데이터 수집 간격을 줄여야 합니다. 기본적으로 10분마다로 설정되어 있으며, 2분마다로 낮출 수 있습니다.

/etc/cron.d/sysstat 파일에서 이 작업을 수행할 수 있습니다.

vi /etc/cron.d/sysstat

파일을 저장하고 닫습니다.

마지막으로 다음 systemctl 명령을 사용하여 sysstat 서비스를 활성화하고 시작합니다.

systemctl enable --now sysstat.service
systemctl enable sysstat.service

그런 다음 sar 보고서 보기를 시작하려면 2분 정도 기다리세요. sar 명령과 -b 명령줄 옵션을 사용하여 I/O 및 전송 속도 통계를 보고하고 -d를 사용하여 각 블록의 활동을 보고합니다. 표시된 대로 장치.

sar -d -b

3. iotop – Linux 디스크 I/O 사용량 모니터링

디자인 측면에서 최고의 모니터링 도구와 유사한 iotop은 프로세스별로 디스크 I/O 활동 및 사용량을 모니터링할 수 있는 간단한 유틸리티입니다.

다음과 같이 Linux 서버에 설치할 수 있습니다(Linux 배포판에 적합한 명령을 실행해야 함).

sudo apt install iotop             [On Debian, Ubuntu and Mint]
sudo yum install iotop             [On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux]
sudo emerge -a sys-processs/iotop  [On Gentoo Linux]
sudo apk add iotop                 [On Alpine Linux]
sudo pacman -S iotop               [On Arch Linux]
sudo zypper install iotop          [On OpenSUSE]    

프로세스별 I/O 활동을 모니터링하려면 다음과 같이 인수 없이 iotop을 실행할 수 있습니다. 기본적으로 반복 간 지연 시간은 1초입니다. -d 플래그를 사용하여 이를 변경할 수 있습니다.

iotop
OR
iotop -d 2

iotop은 기본적으로 프로세스의 모든 스레드를 표시합니다. 프로세스만 표시하도록 이 동작을 변경하려면 -P 명령줄 옵션을 사용하세요.

iotop -P

또한 -a 옵션을 사용하면 대역폭을 표시하는 대신 누적된 I/O를 표시하도록 지시할 수 있습니다. 이 모드에서 iotopiotop이 호출된 이후 수행된 I/O 프로세스의 양을 표시합니다.

iotop -P -a

그게 우리가 당신을 위해 가진 전부입니다! 이 가이드나 위의 도구에 대한 귀하의 생각을 알고 싶습니다. 아래 피드백 양식을 통해 의견을 남겨주세요.

이 목록에는 없지만 여기에 표시되어야 한다고 생각되는 도구에 대해 알려주실 수도 있습니다.