서버 성능측정 (벤치마크 방법)

HYEONG HWAN, MUN/ 3월 28, 2016/ 미분류/ 5 comments

다음은 https://blog.lael.be/post/44 에서 각 상품군의 성능 벤치마크시 사용했던 지표입니다.

Ubuntu 기준. Windows 는 Novabench(https://novabench.com/) 를 사용하도록 하자.
벤치마크 점수에 너무 신경쓰지 말아야 한다. 점수는 점수일 뿐 당신의 체감 속도가 가장 중요하다.

아래 스크린샷은 라엘이가 개인용도로 사용하고 있는 직접 구축한 클라우드 서버에서 Sysbench 를 실행한 것이다.
서버는 Hyper-V 기반이며, 6코어 5GB RAM, 100GB SSD 사양이다.
# 제 서버를 기준 지표로 설정하지 마시고, https://blog.lael.be/post/44 의 업체를 기준 지표로 삼으세요.
vx1

0. 대조군 설정

당신이 이미 서버를 운영하고 있는 상태에서 이 글을 읽는다고 가정한다.
빠른 서버에 대한 느낌은 직접 사용해야 알 수 있다.
당신의 서버와 비교할 대조군을 설정한다.

VULTR 클라우드서비스 (https://www.vultr.com/)에 가입후 도쿄 또는 싱가포르 지역에 자신의 서버와 동일사양인 서버를 추가해보자.
그 후 아래 명령어로 비교해 보면 된다. 시간단위 과금이니 테스트 후 지우면 된다.

 

1. 벤치마크 프로그램 설치

apt-get install sysbench

2. CPU 테스트

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

j2

total time 을 계산한 후 100을 곱한다.

22.3451s -> 2234점 (걸린 시간이기 때문에 낮을 수록 좋다.)

 

3. 메모리 테스트

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

j1

2779점

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

j3

2312 점

두개의 속도(MB/sec) 를 더한다.

대충 1500 MB/sec ~ 2500 MB/sec 사이로 결과가 나올 것이다. (Read 가 더 크게 나옴)

2779 MB/sec Read + 2312 MB/sec Write = 5091점 (단위 속도이기 때문에 높을 수록 좋다.)

4. 디스크 테스트

테스트 파일 설정 (반드시 램 크기보다 큰 용량으로 설정할 것)

sysbench --test=fileio --file-total-size=8G prepare

64MB 파일 128개가 생길 것이다.

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

300초 동안 매우 많은 랜덤 I/O 를 할 것이다.

j4

단위 속도에 100을 곱하여 점수를 측정한다.

37.885Mb/sec -> 3788점 (단위 속도이기 때문에 높을 수록 좋다.)

테스트가 끝났으면 테스트 파일 지우기

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

아까 생성했던 64MB 파일 128개가 삭제된다.

5 Comments

  1. 안녕하세요.

    좋은 글 정말 감사합니다.

    사이트 TTFB가 너무 높아서 서버를 바꿔볼까 생각중입니다

    알려주신 CPU, DISK, RAM 항목 중에서 어느게 제일 중요한지 알수있을까요?

    1. disk 가 ssd(또는 sas) 이냐 아니냐가 중요하죠.

  2. 안녕하세요 초짜 프로그래머입니다
    sysbench로 측정한 결과가 다른 벤치마킹 도구 (ab, jmeter, …)와 많이 차이가 나나요..?그리고 sysbench가 사용하기도 간단해보이는데 이런 다른 툴을 쓰는 이유가 뭔가요?ㅜㅜ 더 다양한 방식의 테스트를 위해서?

    1. 안녕하세요. 사용 용도에 따라 나누어집니다.
      sysbench 는 CPU, 메모리, 디스크 같은 서버의 하드웨어를 테스트하는 툴입니다.
      ab, jmeter 등은 웹사이트의 응답속도, 동시접속자를 테스트하는 툴입니다.

      sysbench 값은 측정 결과가 변하지 않지만, 웹사이트 코드를 개선하면 ab, jmeter 는 더 좋은 값을 보여주게 됩니다.

Leave a Comment

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>
*
*