리눅스 서버의 성능을 확인하는 방법
다음 명령어를 실행하면 1분 이내에 시스템 리소스 사용량을 전반적으로 파악할 수 있습니다.
가동 시간
dmesg | tail
vmstat 1
mpstat -P ALL 1
pidstat 1 p> p>
iostat -xz 1
free -m
sar -n DEV 1
sar -n TCP,ETCP 1
top
이러한 명령 중 일부는 sysstat 패키지 설치가 필요하고 일부는 procps 패키지에서 제공됩니다. 이러한 명령의 출력은 성능 병목 현상을 빠르게 찾아내고 소위 USE 방법인 모든 리소스(CPU, 메모리, 디스크 IO 등)의 활용도, 포화도 및 오류 지표를 확인하는 데 도움이 됩니다.
이러한 명령을 하나씩 소개하겠습니다. 해당 명령에 대한 자세한 매개변수 및 지침은 명령 매뉴얼을 참조하세요.
가동 시간
$ 가동 시간
23:51:26 최대 21:31, 사용자 1명, 평균 로드: 30.02, 26.43, 19.02
이 명령을 사용하면 머신의 로드 상태를 빠르게 확인할 수 있습니다. Linux 시스템에서 이러한 데이터는 CPU 리소스를 기다리고 있으며 중단 불가능한 IO 프로세스에서 차단된 프로세스 수를 나타냅니다(프로세스 상태는 D). 이 데이터를 통해 시스템 리소스 사용량을 높은 수준으로 이해할 수 있습니다.
명령의 출력은 각각 1분, 5분, 15분 동안의 평균 부하 조건을 나타냅니다. 이 세 가지 데이터를 통해 해당 지역의 서버 부하가 타이트해지고 있는지, 완화되고 있는지를 파악할 수 있습니다. 1분 평균 로드가 매우 높고 15분 평균 로드가 매우 낮다면 서버가 높은 로드를 명령하고 있다는 의미이므로 어디에서 CPU 리소스가 소비되고 있는지 추가 조사가 필요합니다. 반면, 15분 로드 평균이 높고, 1분 로드 평균이 낮다면 CPU 자원이 타이트한 시기가 지났을 가능성이 있습니다.
위 예시의 출력에서 마지막 1분 동안의 평균 로드가 매우 높고 지난 15분 동안의 로드보다 훨씬 높다는 것을 알 수 있습니다. 따라서 우리는 어떤 것이 무엇인지 계속해서 조사해야 합니다. 현재 시스템의 프로세스는 많은 리소스를 소비합니다. vmstat, mpstat 및 아래에 소개된 기타 명령을 통해 추가로 문제를 해결할 수 있습니다.