JSCODE Logo
JSCODE 박재성JSCODE 제이온JSCODE 시니
과외유튜브블로그후기
완강 후기 이벤트블로그 리뷰 이벤트AWS SAA 합격 후기 이벤트
회사명 : JSCODE대표 : 박재성사업자 등록번호 : 244-22-01557통신판매업 : 제 2023-인천미추홀-0381 호

서울특별시 구로구 경인로 20가길 11(오류동, 아델리아)

Copyright ⓒ 2026 JSCODE - 최상위 현업 개발자들의 프로그래밍 교육 All rights reserved.

이용약관개인정보처리방침

대규모 트래픽 처리를 위한 부하테스트 입문/실전

부하 테스트의 기본 개념

취준생이 대규모 트래픽 처리 경험을 쌓는 방법 ?!
현업에서 부하 테스트를 왜 할까?
처리량(Throughput), 지연 시간(Latency)
부하 테스트 툴 선정 (k6)
[실습] EC2에 간단한 API 서버 셋팅하기
[실습] EC2에 부하 테스트 툴 셋팅하기
[실습] 내가 구성한 백엔드 서버는 1초당 몇 개의 요청을 견뎌낼 수 있을까?
[실습] 사용하지 않는 EC2 종료하기

부하 테스트를 통해 ‘병목 지점’ 진단하기

병목 지점 (
부하 테스트의 전체 흐름
부하 테스트 시 주의점
[실습] 부하 테스트 할 인프라 구성을 그림으로 파악하기
[실습] AWS EC2 셋팅하기
[실습] AWS RDS 셋팅하기
[실습] AWS ELB 생성하기
[실습] EC2에 백엔드 서버(Spring Boot) 셋팅하기
[실습] 내가 구성한 인프라는 1초당 몇 개의 요청을 견뎌낼 수 있을까?
모니터링(Monitoring), 메트릭(Metric)
CPU, 메모리(Memory), 디스크(Disk)
[실습] EC2 모니터링 셋팅하기
[실습] RDS 모니터링 셋팅하기
[보충 강의] ELB의 CPU, 메모리는 왜 측정하지 않나요?
[실습] 각 서버의 CPU, 메모리를 한 눈에 볼 수 있도록 셋팅하기
[실습] 부하 테스트를 통해 병목 지점 진단하기
[보충 강의] 실시간으로 CPU와 메모리를 관측하는 방법

병목 지점을 해결해 성능 개선하기

가용성(Availability), 시스템 이중화
수평적 확장, 수직적 확장, 캐싱
트래픽 증가에 따른 시스템 설계 및 확장 방법
[실습] 병목 지점(DB) 해결하기
[실습] 병목 지점(웹 애플리케이션 서버) 해결하기
부하 테스트의 전체 흐름 다시 점검
← 블로그 목록으로 돌아가기

[실습] 부하 테스트를 통해 병목 지점 진단하기

JSCODE 박재성
JSCODE 박재성
2026. 04. 01.
author
JSCODE 박재성
category
부하테스트
createdAt
Dec 6, 2025 03:41 AM
isPublic
isPublic
series
대규모 트래픽 처리를 위한 부하테스트 입문/실전
slug
exercise-diagnose-bottleneck-through-load-test
type
post
updatedAt
Apr 1, 2026 09:00

✅ 부하 테스트 시작하기

  1. 기존 k6 스크립트 다시 확인하기
    1. import http from 'k6/http'; import { sleep } from 'k6'; export const options = { // 부하를 생성하는 단계(stages)를 설정 stages: [ // 10분에 걸쳐 vus(virtual users, 가상 유저수)가 50에 도달하도록 설정 { duration: '10m', target: 50 } ], }; export default function () { let random = Math.random(); // 100명 중 5명의 비율로 게시글을 작성 if (random < 0.05) { const data = { title: '제목', content: '내용' }; http.post('http://{ELB 주소}/boards', JSON.stringify(data), { headers: { 'Content-Type': 'application/json' }, }); // 100명 중 95명의 비율로 게시글을 조회 } else { http.get('http://{ELB 주소}/boards'); } // 1초 휴식 sleep(1); }
       
  1. 부하 테스트 시작하기
    1. $ K6_WEB_DASHBOARD=true k6 run script.js
       
  1. k6의 웹 대시보드 열기
    1. http://{k6가 실행되고 있는 EC2 IP 주소}:5665으로 접속하기
      notion image
       
  1. CloudWatch 대시보드 열기
    1. notion image
 
 

✅ 모니터링 지표를 보고 병목 지점 진단하기

지표를 살펴보면 나머지 리소스들은 괜찮은데 RDS의 CPU 사용률이 100%에 가깝게 측정된 걸 확인할 수 있다. 많은 트래픽을 처리할 때 RDS CPU의 사양이 부족하다는 뜻이다. 즉, RDS가 병목 지점이라는 걸 알 수 있다.
notion image
 
🧑🏻‍🏫
병목 지점이 어디인지 파악했으니 이제 그 병목 지점을 개선해야 한다. 어떤 방식으로 개선해야 하는 지 다음 강의에서 알아보자.
 
📎
이 글은 대규모 트래픽 처리를 위한 부하테스트 입문/실전 강의의 수업 자료 중 일부입니다.