티스토리 뷰

sysbench는 인텐시브한 로드에서 데이터베이스를 운영해야하는 시스템에 필요한 운영체제를 평가하는 모듈화된 크로스 플랫폼 멀티 쓰레드 벤치마크 도구이다.

데이터베이스를 설치하지 않고도 복잡한 세팅없이 시스템 성능을 분석할 수 있다. 

제공하는 기능은 다음과 같다.


  • 파일 입출력 성능
  • 스케쥴러 성능
  • 메모리 할당 및 전달 속도
  • POSIX 쓰레드 구현 성능
  • 데이터베이스 서버 성능

sysbench로 진행한 서버 성능 테스트 과정을 정리해본다.


#1 sysbench 설치

linux

1
apt-get install sysbench
cs

mac

1
brew install sysbench


#2 CPU 테스트

1
sysbench --test=cpu --cpu-max-prime=20000 run
cs

total time 계산 후 100을 곱하면 점수가 나온다 (낮을 수록 좋다)



#3 메모리 테스트

read test

1
sysbench --test=memory --memory-block-size=1K --memory-scope=global --memory-total-size=100G --memory-oper=read run
cs

write test

1
sysbench --test=memory --memory-block-size=1K --memory-scope=global --memory-total-size=100G --memory-oper=write run
cs

read + write = total (높을 수록 좋다)

3431+3032 = 6463 점


#4 디스크 테스트 (램 크기보다 큰 용량으로 설정을 해야 한다)

1
2
sysbench --test=fileio --file-total-size=8G prepare
sysbench --test=fileio --file-total-size=8G --file-test-mode=rndrw --init-rng=on --max-time=300 --max-requests=0 run
cs

1번줄은 테스트용 더미파일을 생성한다. 64MB 파일 128개 (8G)가 생성되었다.

2번줄 명령으로 300초동안 많은 랜덤 I/O를 한다.

점수는 높을 수록 좋다


테스트 완료후 생성한 더미파일을 지운다

1
sysbench --test=fileio --file-total-size=8G cleanup
cs


맥프로 램 8G로 테스트를 했을 때와 

스쿨호스팅에서 구매한 일반형가상서버 호스팅 (램 1G, 하드 40G) 테스트 했을 때를 비교해보았다.

 

 8G 맥

 1G 가상 서버 호스팅 

리눅스 서버

 비교

 CPU 

 2826 점 

 7396 점

 약 2.6배 차이

 Memory Read

 3432 점

 1107 점

 약 3.1배 차이

 Memory Write

 3032 점

 1623 점

 약 1.8배 차이

 Disk I/O

 10331 점

 298 점

 약 34.7배 차이


메모리가 1G < 8G 차이인 것에 비해 메모리 성능 차이는 최대 3배의 차이를 보이는 반면 디스크 입출력 성능에서 어마어마한 차이를 보이고 있다.


쓰레드 테스트 등 추가적인 sysbench 지원 테스트는 아래 참고문헌의 매뉴얼을 확인해보자.



참고 문헌

sysbench 깃헙, https://github.com/akopytov/sysbench

sysbench 매뉴얼, http://imysql.com/wp-content/uploads/2014/10/sysbench-manual.pdf


댓글