본문으로 건너뛰기
← 가이드 목록

서버 성능 측정하기 (CPU·디스크)

플랜끼리, 또는 VPS와 단독서버를 비교할 때 같은 방법으로 직접 재보면 판단하기 쉽습니다. Linux(Ubuntu·Debian) 기준입니다.

측정하는 동안 CPU와 디스크를 최대로 씁니다. 이미 서비스가 돌고 있는 서버라면 사용자가 적은 시간에 하세요.

CPU: 코어 하나와 전체 코어

sudo apt install -y sysbench
sysbench cpu --threads=1 --time=10 run
sysbench cpu --threads=$(nproc) --time=10 run

결과의 events per second가 클수록 빠릅니다.

  • --threads=1 — 코어 하나의 성능입니다. 마인크래프트 서버처럼 코어 하나가 중요한 프로그램이라면 이 숫자를 비교하세요.
  • --threads=$(nproc) — 모든 코어를 함께 쓴 성능입니다. 여러 프로그램을 돌리거나 작업을 나눠 처리하는 경우라면 이 숫자를 비교하세요.

어떤 프로그램이 어느 쪽에 해당하는지는 싱글코어? 멀티코어?를 참고하세요.

sysbench는 단순한 계산을 반복하는 테스트라 실제 프로그램의 성능과 똑같지는 않습니다. 서버끼리 같은 명령으로 비교하는 용도로 쓰세요.

디스크

간단히: 쓰기 속도

dd if=/dev/zero of=dd-test.tmp bs=1M count=1024 oflag=direct status=progress
rm dd-test.tmp

마지막 줄 끝의 속도(MB/s 또는 GB/s)가 큰 파일을 연속으로 쓰는 속도입니다.

자세히: 작은 파일 읽기·쓰기

데이터베이스나 게임 월드 저장처럼 작은 데이터를 자주 읽고 쓰는 일은 아래 테스트가 더 잘 보여줍니다.

sudo apt install -y fio
fio --name=test --filename=fio-test.tmp --size=1G --rw=randrw --rwmixread=70 --bs=4k --ioengine=libaio --iodepth=32 --direct=1 --runtime=30 --time_based --group_reporting
rm fio-test.tmp
  • read: IOPS=…, write: IOPS=… — 1초에 처리한 읽기·쓰기 횟수입니다. 클수록 좋습니다.
  • BW= — 초당 처리량입니다.

두 테스트 모두 측정용 파일(1GB)을 만드니 디스크에 여유 공간이 있어야 하고, 끝나면 꼭 rm으로 지워주세요.

네트워크 속도 측정은 주의하세요

속도 측정 도구는 큰 데이터를 주고받기 때문에 트래픽을 씁니다.

  • 일반 네트워크는 하루 트래픽 할당량을 넘으면 그날 남은 시간 동안 속도가 제한됩니다.
  • 보안 네트워크는 주문할 때 정한 트래픽 용량을 쓰는 방식이라, 테스트로 써버리면 추가 구매가 필요할 수 있습니다.

게임이나 접속이 느린 이유를 확인하는 것이 목적이라면, 내 PC에서 서버까지의 응답 시간(핑)을 재보는 것으로 충분한 경우가 많습니다.

ping 서버IP

Windows는 명령 프롬프트, Mac·Linux는 터미널에서 실행합니다. (Mac·Linux는 Ctrl + C로 멈춥니다) Windows 서버는 기본 방화벽 설정 때문에 ping에 응답하지 않을 수 있습니다.

결과를 비교할 때

  • 같은 명령을 두세 번 재서 비슷한 값인지 확인하세요. VPS는 물리 서버를 함께 쓰는 구조라 잴 때마다 결과가 조금씩 다를 수 있습니다.
  • 비교할 서버끼리 운영체제와 명령을 똑같이 맞춰야 의미가 있습니다.
  • 숫자보다 중요한 것은 실제 프로그램이 잘 돌아가는지입니다. 사용률을 확인하는 방법은 서버가 느릴 때 점검하기를 참고하세요.

해결되지 않는 문제가 있다면 고객센터로 문의해주세요.