Skip to content
VDS · 백업 및 디스크

디스크 속도: 기준 속도와 버스트

티어별로 디스크 속도 제한이 어떻게 계산되는지, 30초 버스트가 왜 필요한지, 실제 속도를 측정하는 방법, 그리고 제한에 도달했을 때 무엇을 해야 하는지 알아봐요.

업데이트 2026년 8월 23일

VPS의 디스크는 NVMe이지만, 한 머신이 노드의 공유 자원을 독차지하지 못하도록 속도가 티어별로 제한돼요. 이 수치를 이해하면 "CPU는 놀고 있는데 왜 데이터베이스가 느리죠?"라는 질문을 피할 수 있어요.

어떻게 계산되나요

쓰기 기준 속도는 코어당 60 MB/s이지만, 60 MB/s보다 낮지 않고 400 MB/s보다 높지 않아요. 읽기는 쓰기 기준 속도의 두 배예요. 기준 속도를 넘어서는 순간에는 기준값의 세 배에 해당하는 버스트를 30초 동안 사용할 수 있어요.

티어코어쓰기 기준읽기 기준쓰기 버스트 (30초)
VDS-1160 MB/s120 MB/s180 MB/s
VDS-22120 MB/s240 MB/s360 MB/s
VDS-34240 MB/s480 MB/s720 MB/s
VDS-46360 MB/s720 MB/s1080 MB/s
VDS-58400 MB/s800 MB/s1200 MB/s
VDS-610400 MB/s800 MB/s1200 MB/s

버스트는 필요한 순간을 감당해요. 애플리케이션 시작, 압축 파일 해제, 마이그레이션 적용 같은 작업이에요. 기가바이트 단위 복사, 빌드, 대용량 데이터베이스 스캔처럼 지속적인 쓰기 스트림은 기준 속도로 동작해요.

어떻게 측정하나요

sudo apt install -y fio
fio --name=w --rw=write --bs=1M --size=2G --numjobs=1 \
    --runtime=60 --time_based --end_fsync=1 --directory=/var/tmp

처음 몇 초는 버스트가 나타나고, 이후 속도가 기준값으로 떨어져요. 이는 정상적이고 예상된 모습이며, 결함이 아니에요.

패키지를 설치하지 않고 빠르게 대략 확인하는 방법은 다음과 같아요.

dd if=/dev/zero of=/var/tmp/testfile bs=1M count=2048 oflag=direct
rm /var/tmp/testfile

업무 시간에 운영 중인 머신에서 디스크 테스트를 실행하지 마세요. 테스트는 실제로 사용 가능한 대역폭 전체를 소모하고, 그 몇 분 동안 사이트 응답이 몇 초씩 걸리게 돼요. 그리고 테스트 파일을 남기지 마세요. 40 GB 디스크에 2기가바이트는 적지 않은 비중이에요. 디스크 공간을 참고하세요.

디스크가 병목인지 확인하는 방법

sudo apt install -y sysstat
iostat -x 2 5
vmstat 2 5

두 가지 지표를 보세요. %util이 100에 가깝고 await가 수십 밀리초라면 디스크 큐가 있다는 뜻이에요. vmstat에서도 신호는 같아요. b 열(대기 중인 프로세스)이 증가하는데 CPU 사용률은 낮은 경우예요.

또 다른 증상은 CPU가 거의 유휴 상태인데 load average가 높은 경우예요. Linux의 load average는 디스크를 기다리는 프로세스도 집계해요.

누가 실제로 쓰고 있는지 확인하는 방법은 다음과 같아요.

sudo iotop -o -b -n 3

병목에 도달했다면 무엇을 해야 하나요

  • 시간을 분산하세요. 복사, 레지스트리 빌드, 리포트는 야간에, 그리고 동시에 겹치지 않게 실행하세요. 예약 작업을 참고하세요.
  • 백그라운드 작업을 제한하세요. 급하지 않은 모든 작업에 rsync --bwlimit, nice -n 19 ionice -c3 <command>를 사용하세요.
  • 쓰기를 줄이세요. 로그 크기를 제한하고, 애플리케이션의 과도한 상세 로그를 끄고, 재부팅 후에도 유지된다면 캐시를 메모리(tmpfs)로 옮기세요.
  • 데이터베이스를 튜닝하세요. PostgreSQL과 MySQL에서 쓰기의 대부분은 트랜잭션 로그예요. 버퍼용 메모리가 많을수록 디스크 접근이 줄어요.
  • 티어를 올리세요. 기준 속도는 코어 수에 따라 증가해요. VDS-1에서 VDS-2로 가면 두 배가 돼요. 요금제 업그레이드는 상향만 가능하며, 결제한 기간의 남은 일수에 대한 추가 결제가 필요해요.

흔한 실수

  • oflag=direct 없이 dd로 속도를 측정하는 경우. 데이터가 페이지 캐시에 남아 수치가 부풀려져요.
  • 버스트를 지속 속도로 착각하는 경우. 처음 30초는 빠르고 이후에는 기준 속도예요. 이는 의도된 동작이에요.
  • 활성 디스크에 스왑을 두고 스왑을 사용하는 경우. 메모리가 부족할 때 스왑은 디스크를 병목으로 만들어요. 컨테이너를 제한하는 편이 좋아요. 리소스 제한을 참고하세요.