19강 / 20강

서버 고르기 — 스펙을 돈으로 환산하기

vCPU · ECC · 클라우드 인스턴스 · 스케일 업 vs 아웃

서버 고르기 — 스펙을 돈으로 환산하기
서버 견적서를 읽는 것도 관리자의 일입니다. 필요 없는 스펙에 돈을 쓰지 않는 것이 실력이에요.

사장님이 묻습니다. "서버를 새로 사려는데, 어떤 걸 사야 해요?"

지금까지 배운 걸 전부 동원할 시간입니다. 지금 무엇이 병목인지 알아야 무엇에 돈을 쓸지 정할 수 있어요.

서버 견적 실습실 — 트래픽과 예산을 넣으면 어떤 스펙이 필요한지, 어디에 돈을 써야 하는지 계산합니다.
불러오는 중…

vCPU 라는 애매한 단위

클라우드 견적서에 4 vCPU라고 적혀 있습니다. 이게 뭘까요?

대부분의 클라우드에서 1 vCPU = 물리 코어의 스레드 하나입니다. 즉 4 vCPU = 물리 코어 2개예요. 11강에서 봤듯이 하이퍼스레딩 스레드는 코어의 절반이 안 됩니다.

vCPU 숫자만 보면 두 배 비싼 걸 살 수 있습니다.
Python 브라우저에서 실행

어디에 돈을 쓸까 — 병목별 처방

지금 증상돈을 써야 할 곳쓰면 안 되는 곳
us 높음, 메모리 여유코어 수 · 클럭메모리, 디스크
wa 높음SSD/NVMe, 더 좋은 디스크CPU (효과 0)
si/so 있음메모리 증설CPU, 디스크
si(softirq) 높음회선 · CDN · LBCPU, 메모리
전부 여유로운데 느림코드·쿼리 개선 (돈 0)서버 전부

마지막 줄이 중요합니다. 서버를 바꿔도 안 빨라지는 경우가 생각보다 많습니다. 느린 쿼리 하나를 고치면 서버 세 대 값이 절약되기도 해요.

ECC 오류가 로그에 쌓이면 메모리 교체 신호입니다.
bash 브라우저에서 실행

스케일 업 vs 스케일 아웃

⬆️
스케일 업
서버 한 대를 크게
간단하다. 천장이 있다
➡️
스케일 아웃
서버를 여러 대로
천장이 없다. 복잡하다
코어당 단가는 서버가 커질수록 비싸집니다.
Python 브라우저에서 실행

견적을 내 봅시다

실제 상황: "평소 초당 30건, 세일 때 초당 300건. 주문 데이터 200GB. 예산은 월 50만 원."

숫자로 견적을 내는 법. 요청당 ms 는 반드시 실측해야 합니다.
Python 브라우저에서 실행
🤔 확인 문제
iostat에서 await가 40ms로 치솟고 %wa가 60%인 서버입니다. 예산 100만 원을 어디에 써야 할까요?
🤔 확인 문제
웹 서버를 4코어 8대로 나누는 것과 32코어 1대로 두는 것의 가장 큰 차이는?