HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
♥️
2기 최종 프로젝트 팀별 공간
/
📚
[팀06] Books
/
💾
엔지니어링 위키
/
🤯
성능테스트
🤯

성능테스트

Person
Date
Tag
진행중
비공개

사용 툴

notion image

Artillery

notion image
 
 
 

환경

AWS t2.small
Ubuntu 18.04
 

테스트 시나리오

scenarios: - name: "포스트 작성" flow: - post: url: "/api/posts" headers: Authorization: "Bearer eyJhbGciOiJIUzI1NiJ9.eyJyb2xlIjoiTE9HSU4iLCJ1c2VySWQiOjEsImlhdCI6MTY2MDIwMDg4NywiZXhwIjoxNjYwMjA0NDg3fQ.-r6Xl-YHecs_SFPqrqtCZ1U35nwpo_jqHg1dVALGGlQ" json: title: "서버 부하 테스트" content: "HELLO" category: "NOTICE" studyId: 1
 

로컬 테스트

config: target: http://localhost:8080 phases: - duration: 60 arrivalRate: 1 name: Post test
notion image
 

Dev 서버 테스트

config: target: https://dev.checkmoi.ga phases: - duration: 60 arrivalRate: 1 name: Post test
Untitled
17.8KB
 
config: target: https://dev.checkmoi.ga phases: - duration: 60 arrivalRate: 10 name: Post test
Untitled
17.9KB
 
 
config: target: https://dev.checkmoi.ga phases: - duration: 60 arrivalRate: 100 name: Post test
Untitled
17.9KB
notion image
config: target: https://dev.checkmoi.ga phases: - duration: 60 arrivalRate: 200 name: Post test
Untitled
17.9KB
notion image
 
툴에 대한 사용은 대충 알았으니 어느 부분을 테스트 해보면 좋을지 생각해보자
서비스 가용인원을 파악하는데 좋지 않을까?
 
부하테스트 툴들
https://aws.amazon.com/ko/blogs/korea/how-to-loading-test-based-on-aws/
어떤 부분을 테스트하고 분석해야 할까?
1) 성능 테스트 특정 상황에서 시스템의 구성 요소가 어떻게 수행되는지 확인하기 위한 테스트이다. 광범위한 의미를 가지고 있는데 성능테스트(Performance Test)는 부하테스트 중 하나의 관점, 즉 성능적 관점만 측정하겠다는 뜻이 담겨 있다. 해당 시스템 혹은 어플리케이션의 성능을 측정한다함은 점진적인 부하량 증가 과정에서 더 이상 단위시간당 최대 처리량(TPS)이 증가하지 않을 때, 그 때의 수치를 측정하고 그 수치를 해석하는 과정을 의미한다.
어떤 부분을 테스트하고 분석해야 할까?
https://hyerin6.github.io/2021-11-05/stress-test/
[Concept] API 성능테스트 (feat. nGrinder 를 이용한 성능 테스트)
쉽게 말하면 내가 만든 웹 서버(API)가 얼마나 많은 사용자들을 감당할 수 있는지 테스트하는 것을 말한다. 이외에도 두 가지 설계에 대해서 어떤 설계가 더 좋은 성능을 내는지 확인하기 위해서 도 사용될 수 있다. Throughput 은 시간당 처리량을 의미하고 TPS(Transaction per seconds), RPS(Request per seconds) 와 같은 세부항목이 있다.
[Concept] API 성능테스트 (feat. nGrinder 를 이용한 성능 테스트)
https://ch4njun.tistory.com/266
[Concept] API 성능테스트 (feat. nGrinder 를 이용한 성능 테스트)
 
API 호출 시나리오

 
메일발송 - 500만건 ~ 1000만건 데이터 쏴보기 ←
  • 큐에 쌓아서 순차적으로 발송하는 것
  • 큐가 부하 - 지연있는가?
 
RDS 비용 ??
아하!! 50만건 몇십만원… 용량으로 책정하는듯..?
AWS 가격정책
나중에 한번에 몰아서
시나리오 테스트
부하 테스트
어느 쯤 병목이 걸리는지 확인해보기
Application 단
  • 스레드 동기화
  • application 메모리 정도…
 
홈 튜토리얼
 
얘가 어느정도까지 버티는가? 최소 어느정도 TPS 이 처리가 가능한지
우연히 이벤트를 할때, 초당 TPS
요청 ~ 응답까지를 Transaction 이라고 볼수도 있음 (작업 단위)
응답시간도 지연되지 않게
 
모니터링…
  • 그라파나 / 프로메테우스
  • elk - e 엘라스틱서치, l 로그스태시 , k 키바나
  • 데이터독..
  • 제니퍼
데이터,,,