[리눅스] stress - CPU, MEMORY, DISK 부하 발생 테스트

반응형

POC처럼 특정 상황에서 서버 자체에 부하를 줘야 하는 경우 stress 명령어를 통해 환경을 조성할 수 있음

 

stress 패키지 설치

레드햇 계열 기준 stress 툴 설치 전 EPEL 레포지터리 활성화 진행
# yum -y install epel-release // EPEL 레포지터리 활성화
# yum -y install stress // stress 패키지 설치

 

 

Stress 사용 방법 

 

CPU 부하

# stress -c [코어 수] // 코어 수 지정 시 해당 코어에는 100% 부하 발생
# cat /proc/cpuinfo | grep -i processor // 전체 논리 코어 수 확인
# stress -c 8 -v --timeout 15m // 8개 프로세스로 CPU 부하 테스트를 15초 간 수행

확인 방법 참고
# ps -C stress -o command,pid,ppid,%cpu,psr,wcahn // pid 확인
# ltrace -ttT -p [pid] // 상태 체크
# top // 상태 체크
 

Memory 부하 주는 방법

# stress --vm [프로세스 수] –vm-bytes [사용할 크기] // 메모리 로드를 위한 프로세스 수와 사용할 메모리 크기 입력
# stress --vm 2 --vm-bytes 2048m -v --timeout 30s // 2개의 프로세스로 메모리 테스트(2G씩 할당 후 해제)를 30초 간 수행

확인 방법 참고
# ps -C stress -o command,pid,ppid,rss // pid를 확인하고
# ltrace -ttT -p [pid] // 상태 체크
# vmstat 5 // 메모리 in 체크
 

HDD 부하 주는 방법

# stress --hdd [hdd 수] --hdd-bytes [사용할 크기] // 하드 디스크 로드를 위해 필요한 프로세스 수와 테스트 파일 크기 지정
# stress --hdd 1 --hdd-bytes 3072m(또는 3G) -v --timeout 1m // 3G 크기 파일을 디스크에 쓰고 지우는 작업을 1분 간 수행

확인 명령어 참고
# ps -C stress -o command,pid,ppid // pid를 확인하고
# ltrace -ttT -p [pid] // write 상태 체크
# vmstat 5 // io 체크
# iostat -x -d 3 // io 체크

 

전체 테스트

# stress --cpu 8 --io 4 --vm 2 --vm-bytes 128M --timeout 10s 
// 8개의 프로세스로 CPU 부하 테스트, 4개의 프로세스로 I/O 테스트, 2개의 프로세스로 메모리 테스트(128M 할당 후 해제)를 10초 간 수행
반응형

댓글

Designed by JB FACTORY