JMeter _ 실전

박민우·2022년 4월 14일
0

모아부자

목록 보기
8/9
post-thumbnail

'홈 화면에서 계산 로직이 빠진다면, 얼마나 빨라질까?'

JMeter로 테스트를 하면서 이런 생각이 들었다.
'그래서 뭘 테스트 해야하나 ....'

테스트 코드는 테스트 커버리지를 높이면서 서비스 로직에 대해 자신있게 배포할 수 있는 근거를 만들었다고 했다. 그런데 부하 테스트는 그저 많은 사람들이 한 번에 접속할 수 있어요, 라는 이야기를 하기엔 '그럼 그 다음은?' 이라는 고민이 끝없이 붙게 된다.

그러던 찰나 앞서 글로 남겼던 것처럼 DB를 조금은 뜯어 고치는 일이 있었다.
wallet 이라는 테이블을 통해 사용자들의 재정 상태를 업데이트 시켜주고 호출할 때에는 현재 상태의 데이터를 가져올 수 있도록 한 것이다.
테이블을 만들면서도 이런 고민은 들었다. '진짜 빨라질까?'

캐싱을 시도하다가, 계산 로직 때문에 막혔던 적이 있다. 그래서 더 불안했던 것 같다. 홈 화면이 반복해서 호출될 때 캐싱을 하려고 했지만 계산 로직 때문인지 오히려 부하가 더 걸리는 오류만 만났었던 기억이 있다. 우리 서비스에 캐싱이 잘 어울리지 않아 부하 테스트 시나리오를 작성하려 할 때에도 계속 무언가 막히는 느낌이 있었다.

그런데 실제로 생각했던 것을 구현하고 나니 Throughput이 8.5에서 1.8로 78%가 감소했다.

이렇게 직접 눈으로 보니 기능 개선이 왜 중요한지 말로 설명할 필요 없이 피부로 와닿는 것 같다 !!! 이래서 부하 테스트, 부하 테스트 하나부다 !!!


JMeter 사용 예시 (적용한 부분)

1초에 500명의 유저가 사용하는 루틴을 10번 돌렸다 !

home에서 데이터를 가져오는 부분을 집중적으로 해결하고자 했기 때문에 api는 '/home' api만 테스트 했다.

token이 필요한 api여서 Header Manager를 사용해서 Bearer 'token' 을 넣어주었다.

profile
KingdomOfGod newPerson = new KingdomOfGod();

0개의 댓글