k6 3

3. 병목 지점 해결 후 성능 개선하기

가용성 : 시스템이 서비스를 정상적으로 제공할 수 있는 가능성 - 이를 위해서 시스템 이중화 중요! 성능 개선을 위해서 수평적 확장, 수직적 확장, 캐싱 설명 - 수평적 : 한 대의 EC2가 아닌, 여러 EC2 사용 - 수직적 : EC2 의 사양 업그레이드 - 캐싱 : RDS 에 대해 Elasticache 추가 / CloudFront 활용 자료에서 트래픽 증가에 따른 시스템 확장 위해 사용자 > EC2 에서부터 프론트의 경우 사용자 > CDN > S3, 백의 경우 사용자 > ELB > EC2 (수평 확장) > RDS + Read Replica / Elasticache 설명 DB 에서의 병목 지점은 인덱스, SQL 튜닝 등 통한 쿼리 개선/수직 확장/Read Replica/Elasti..

k6 2025.07.03

2. 병목 지점 진단

병목 지점 : 전체 시스템에서 특정 서버 자원이 한계에 도달해 전체 성능이 저하되는 구간 위 그림에서 2차선 도로 해당! - 병목 지점의 Throughput이 곧 전체 Throughput! - A-B 구간이 문제없어도, B-C 구간에서 Throughput이 저하되면 무용지물 (사용자 백엔드 DB라 생각하면?) B-C 구간의 병목 지점을 해결해도, A-B 구간에서는 1000대만 지나갈 수 있기에 병목 발생! - 병목 지점을 해소해도 다른 곳에서 새로운 병목 지점 발생한다 부하 테스트를 위해서는 목표 Throughput과 Latency를 설정해야! - 예제에서는 2000TPS, 800ms 를 목표로 하고 잇음 - 이를 달성하기 위해서는 병목 지..

k6 2025.07.03

1. k6 기초 사용 및 통계분석

참고 https://www.inflearn.com/course/%EB%8C%80%EA%B7%9C%EB%AA%A8%ED%8A%B8%EB%9E%98%ED%94%BD-%EB%B6%80%ED%95%98%ED%85%8C%EC%8A%A4%ED%8A%B8-%EC%9E%85%EB%AC%B8-%EC%8B%A4%EC%A0%84/dashboard 이번 프로젝트에서 부하 테스트는 k6으로 하기로 결정했다. 마침 강의도 할인하기도 하고, 예전에 JS를 공부해 본 적 있어서 익히기 쉬울 것 같아 결정했다. 강의 처음에는 EC2 두 대 중 한 대에는 nodejs, 다른 한 대에는 k6를 띄워 부하 테스트를 진행한다. 이처럼 시스템과 테스트 툴을 분리하는 이유는 부하 테스트 툴 자체도 컴퓨팅 리소스를 사용하기 때문에, throug..

k6 2025.05.10