VPS 스트레스 테스트 가이드: 구매 전 30분 벤치마크와 해석
구매 전 30분, 오버셀과 실제 성능을 식별하세요
테스트는 벤치마크뿐만 아니라 Steal Time과 디스크 급락을 봐야 하며, 교차 검증으로 오버셀을 피하세요.
VPS를 테스트해야 하는 이유
VPS를 구매할 때 사양표만 보면 안 됩니다. 업체가 4코어 8G라고 표시해도, 실제로는 이웃 때문에 과매출(超賣)되어 제 성능을 내지 못할 수 있습니다. 저는 지금 주문 전에 먼저 체험용 머신으로 vps stress test를 돌리는 습관이 있습니다. 그리고 YABS만 돌리고 끝내는 자기만족이 아닙니다. 벤치마크는 시작일 뿐, 핵심은 해석에 있습니다.
왜 테스트해야 할까요? 세 가지 이유가 있습니다.
- 과매출 식별: CPU가 대량으로 공유되거나 디스크 IO가 제한되면, 부하 테스트를 통해서만 실제 모습이 드러납니다.
- 실제 성능 검증: 표시된 GHz와 메모리 주파수가 실제로도 그런지 한번 돌려보면 알 수 있습니다.
- 기준선 구축: 구매 후 문제가 생겼을 때, 테스트 데이터가 있어야 업체와 실랑이를 할 수 있습니다.
많은 사람들이 stress --cpu 4만 알지만, 그걸로는 과매출을 측정할 수 없습니다. 저는 먼저 Steal Time을 확인하고, 디스크 캐시가 급락하는 구간을 보고 제한(限流) 여부를 판단하라고 권장합니다. 가능하면 VPS 벤치마크 앱에서 CPU, 메모리, 디스크 3가지를 교차 검증하고, 단일 점수만 보지 마세요.
한마디로: vps stress test는 최대치를 측정하는 것이 아니라 서비스의 한계선을 측정하는 것입니다. 무료 체험 기간에 부하를 끌어올려 보세요. 돈을 다 내고 나서 "4코어"가 사실은 1코어 공유였다는 것을 발견하는 것보다 훨씬 낫습니다.
30분 테스트 절차
VPS를 구매하기 전에, 업체가 제공하는 벤치마크 점수만 보지 말고, 직접 30분만 투자하면 효과적인 VPS 스트레스 테스트를 할 수 있습니다. 제 습관은 세 단계로 나누는 것입니다: 처음 10분은 CPU와 메모리, 중간 10분은 디스크 IO, 마지막 10분은 실제 부하로 교차 검증합니다.
먼저 기본 도구를 설치합니다:
apt update && apt install -y stress-ng sysbench fio그런 다음 세 가지 핵심 지표를 확인합니다: Steal Time, 디스크 캐시 급락, 다회 벤치마크 일관성.
왜 점수가 정상이어도 오버셀링일 수 있을까요? 오버셀링 VPS의 CPU 점수는 종종 "그럭저럭 괜찮아 보이지만", 일단 이웃이 바빠지면 steal time이 치솟습니다. vmstat 1로 관찰하고, st 열이 장기간 10%를 초과하면 주의해야 합니다. 디스크의 경우 첫 번째 dd 속도를 믿지 마세요. 많은 저질 VPS는 처음 몇 초는 캐시로 버티다가 급락합니다. fio 랜덤 읽기/쓰기를 세 번 실행하여 중앙값을 취하고, 세 번째가 첫 번째보다 50% 이상 느리면 기본적으로 오버셀 디스크로 판단할 수 있습니다.
마지막으로 sysbench로 종합 테스트를 한 번 수행하고 YABS 결과와 비교하세요. 무료 체험 기간에는 CPU만 압박하지 말고, 가벼운 웹 요청이나 ping 지연 모니터링을 동시에 실행하여 실제 비즈니스 부하를 시뮬레이션하는 것이 좋습니다. 전체 절차를 마치면 이 VPS가 가치가 있는지, 아니면 "종이 벤치마크"인지 판단할 수 있습니다. VPS 구매 가이드를 참조하여 지표를 추가로 확인할 수도 있습니다.
핵심 지표 해석
vps 스트레스 테스트는 CPU 벤치마크만 보게 쉽지만, 실제로 봐야 할 신호는 세 가지다: Steal Time, 디스크 Cache 절벽, 도구 간 일관성.
먼저 %st를 보자. top이나 mpstat -P ALL 1에서 Steal이 오래 5%를 넘으면 Hypervisor의 물리 CPU가 충분히 분배되지 않아 이웃이 내 타임 슬라이스를 빼앗고 있다는 뜻이다. 10%를 넘으면 이 머신은 과판매가 심각하다고 판단해도 된다. CPU 벤치마크가 좋아도, 야간 피크 때는 슬라이드쇼처럼 버벅일 것이다. 가끔 1~2%의 steal은 정상이니, 평균과 중앙값을 중점적으로 보자.
디스크는 곡선을 봐야 한다. 많은 저가 VPS에서 dd 테스트는 처음 1GB가 매우 빠르다. 데이터가 Page Cache에 떨어지기 때문인데, 이후 갑자기 수십 MB/s로 떨어지면 전형적인 Cache 절벽이다. fio --rw=randrw --direct=1 --size=2G로 캐시를 우회하고, iostat의 await가 심하게 출렁이는지 확인하라. 전체 도구 체인은 VPS 부하 테스트 가이드를 참고하라.
마지막으로 YABS, Geekbench, 실제 업무 부하(예: 컴파일 + curl 부하 테스트)를 교차 검증하라. YABS 싱글 코어가 1200인데 sysbench 멀티스레드가 크게 흔들리면 스케줄링 우선순위가 의도적으로 낮춰진 것이다. 무료 체험 기간의 VPS는 30분 정도 실행해 /proc/loadavg와 steal의 장기 추세를 관찰하라. 벤치마크 점수만 스크린샷으로 남기지 말고.
이 지표들을 이해하면 과판매와 프리미엄을 한눈에 식별할 수 있다. 다음 절에서는 바로 실행 가능한 30분 테스트 스크립트를 제공하겠다.
교차 검증과 결론
CPU, 메모리, 디스크라는 세 가지 방법을 모두 실행했다고 해서 vps stress test가 끝난 것은 아니다. 진짜로 오버셀링(overselling) 머신을 피하게 해 주는 것은 세 가지 증거를 함께 교차 검증하는 것이다. 단순히 YABS 총점만 보는 것은 마치 건강검진표의 총콜레스테롤만 보는 것과 같아서 혈관이 막혔는지는 알 수 없다.
내 경험상 네 가지 요령이 있다:
- Steal Time은 90초 평균을 주시하라. 8%를 넘으면 경계해야 한다. 짧게 20%까지 치솟는 것은 이웃이 발작을 일으킨 것일 수 있지만, 지속적으로 높으면 오버셀링의 확실한 증거다.
- 디스크 IO는 곡선을 그려라. 처음 5초에 500MB/s였다가 뒤에서 절벽처럼 50MB/s로 떨어진다면, 이는 Cache를 다 쓴 후의 진짜 성능이다.
fio의 단발성 랜덤 읽기보다 더 신뢰할 수 있다. - CPU 벤치마크는 두 번 실행하라. 두 번째가 보통 5%~10% 느린데, 20% 이상 떨어진다면 지속적인 경쟁이 있음을 의미한다.
- 메모리 안정성은
stress-ng로 10분간 압박하라. 동시에/proc/loadavg와dmesg에서 OOM이 발생하는지 관찰하라.
한 줄 결론: 벤치마크 정상 + Steal Time 낮음 + 디스크 곡선이 완만해야 통과다. 가격이 매우 싼데 Steal이 높다면 십중팔구 오버셀링이므로 과감히 다른 업체로 바꿔라.
아직 선택 중이라면, 이 /guides/vps-stress-test 절차를 아무 무료 체험 VPS에나 적용해 보라. 30분이면 문제점을 드러내기에 충분하다. 기억하라: vps stress test는 단지 상한선을 측정하는 것이 아니라 이웃의 수준을 측정하는 것이다.
FAQ
VPS 스트레스 테스트는 어떻게 하나요?
sysbench로 CPU와 메모리를, fio로 디스크를, iperf3로 네트워크를 각각 10분 이상 테스트합니다.
벤치마크에서 가장 중요한 지표는 무엇인가요?
CPU Steal Time과 디스크 4K 랜덤 쓰기 지연 시간을 중점적으로 봐야 합니다. 높으면 오버셀을 의미합니다.
오버셀 VPS를 어떻게 식별하나요?
top에서 steal이 5%를 초과하거나, fio에서 급격한 속도 저하가 나타나면 기본적으로 오버셀입니다.
테스트 결과는 어떻게 교차 검증하나요?
스크립트를 바꾸거나 시간대를 바꿔 재테스트하고, 같은 구성의 성능을 비교하여 차이가 크면 신뢰할 수 없습니다.