Architecture

서버 스펙 산정

구루싸 2025. 4. 28. 18:45
반응형
SMALL

1. 서버 스펙 산정의 기본 프로세

1) 구사항/트래픽 예측

  • 시 접속자 수(Concurrent Users)
  • 초당 요청 수(RPS, Requests Per Second)
  • 1일/1개월 총 트래픽
  • API별 평균/최대 응답시간
  • 이터베이스/캐/파일 저장소 등 부가 리소스

2) 서비스 특성 분석

  • CPU 바운(연산 많음) vs IO 바드(네트워크/DB/파일 입출력 많음)
  • 시간성/지연 허용 여부
  • 배치/스케줄러 등 부가 작업

3) 성능 테스트(부하 테스트)

  • 실제 코드/아키텍처로 JMeter, k6, Artillery 등으로 부하 테스트
  • 1코어/1GB/1Pod에서 RPS, 평균/최대 응답시간, 메모리 사용량 

4)  공식

  • 요 서버 수 = (예상 최대 RPS) / (서버 1대가 감당 가능한 RPS)
  • 필요 메모리 = (최대 동 요청 처리 시 1프로세스 메모리 사용량) × (동시 프로 )
  • 스크/네트워크는 /월 트래픽, 로그, 파일 저장량 등으로 

2. 실무 예시

예시1) API 서버

  • 예상 최대 RPS: 500
  • 1대 서버에서 부하테스트 결과: 1코어/2GB에서 200 RPS, 평균 응답 100ms, 메모리 1GB 사용
  • 필요 서버 수: 500 / 200 = 2.5 → 3대(여유 포함)
  • 메모리: 2GB × 3대 = 6GB
  • 디스크: 로그/임시파일 등 일 1GB, 1년 365GB + 여유분

예시2) 배치/정산 서버

  • 일일 치 작업량: 100만건, 1건 처리 10ms → 총 10,000초(약 3시간)
  • 렬처 가능: 4코어면 4배 빠름 → 1코어당 25만건
  • 모리: 배치 1프로세스 500MB, 4개 동시 실행 → 2GB

3. 클라우드/컨테이너 환경에서는?

  • CPU/메모/디스크/네트워크 리소스 단로 쪼개서 할
  • Auto Scaling(트래픽 급증 시 자동 증설) 고려
  • 소/최대 인스턴스 , HPA, VPA 등 정책 설정

4. 실전 팁

  • 최초에는 여유 있게(2~3배) 잡, 실제 트래픽/모니터링 후 조정
  • 테스트는 꼭 실제 코드/DB/외부 API와 함께 진행
  • 로그/백/캐시 등 부가 리소스 반드시 포함
  • DB/캐시/메시지큐 등은 별도 산

5. 참고 공식/도구

  • k6, JMeter, Artillery: 오픈소스 부하테스트 도
  • AWS Calculator, GCP Calculator: 클라우드 리소스 적 산정
  • Prometheus, Grafana, CloudWatch: 실시간 터링/리소스 사용량 분석

결론

  1. 예상 트래픽/업무량 
  1. 1대 서버의 처리량/메모리/디스크 측정(부하테스트)
  1. 식에 대입해서 서버 /스펙 산정
  1. 여유분 포함, 실제 운영 후 모니터링/조
반응형
LIST