2022. 10. 12. 14:41ㆍ카테고리 없음
제이미터(Jmeter)
제이미터란 툴로 성능 테스트를 할 수 있음.
Why?
성능테스트를 하는 이유는
1) 시스템 안정성
2) 시스템이 얼마나 부하를 버틸 수 있나.
x축 time
y축 tps (시간 당 얼마나 transaction이 실행 되었나)
3) 병목구간 찾기
많은 인프라 자원들이 엮여있을 텐데 Lambda Instance / Cache / DB ...etc
테스트할 부분만 mocking해서 해당 부분만 테스트 한다.
Goal
1. 성능 개선을 위한 목표
회사, 팀마다 현실적인 이유로 다름.
2. 시나리오
0초에는 a를 실행하고
1초후에 b를 실행하고
b의 성공시,
b의 실패시,
3. 성능 테스트
1-b 성공 실행
4. 릴리즈!
*DB를 보는 지표
cpu
connection
memory - swap
network의 In / Out
storage size
ex)
- 나머지는 다 좋은데 cpu가 미친듯이 뛴다? --> 쿼리를 잘못 짯다...
- 나머지는 좋은데 network In/Out이 미친듯이 뛴다? --> 성능적 한계 .
더이상 Scale up은 힘들고 Scale out으로
RDS를 Master / Slave로 나눠서 쓰는 건 Master로 하고 읽는건 Slave로 한다던가
Lambda <- JMeter
- 람다는 인스턴스가 계속 늘어나는데 Ec2같은 경우는 타겟을 줘야함.
부하 머신을 어떻게?
- 부하머신 한대로는 부하를 주기 힘들고
네이버에서 만든 성능 테스트 오픈소스 (NGrinder)