JMeter로 캐싱 적용 전후의 성능차이 분석

무지성개발자·2024년 4월 18일
0

gathering

목록 보기
5/5

서론

캐싱을 하는 이유는 더 좋은 성능을 기대하기 때문일 것이다. 서버를 실행시키는 환경마다 성능이 얼마나 개선 될 지 차이가 있겠지만 중요한 건 같은 환경에서 캐싱이 적용된다면 얼마나 성능이 개선되는지 확인하고 서버를 구성해야할 것이니 이것을 테스트 해보고자 한다.

테스트 조건

클라우드 서버를 띄워서 테스트 하면 좋겠지만 비용이슈가 있어서 로컬에서 진행하였다.

  • 3분동안 1초당 500요청
  • 힙 사이즈 512M ~ 1024M
    • -Xms512M, -Xms1024M
  • 스택 사이즈 25M
    • -Xss25M
  • JVM CPU 코어 할당 수 2
    • XX:ActiveProcessorCount=2

JMemter 사용이유

성능 측정 도구로 많은 툴이 있지만 빠른 테스트는 설치가 쉬운 JMemter가 적합하다고 생각했고 plugin을 통해 필요한 결과들을 그래프로 확인도 가능해 유용하다고 생각했다.

TPS

TPS는 Throughput Per Seconds로 처리량을 의미하는 지표다. 초당 얼마만큼의 트랜잭션을 처리 할 수 있는지를 보여주므로 성능과 직결된 지표다.

Non-Cache

Cache

비교결과

Y축을 보면 숫자의 단위부터가 차이가 확 나는데 cache의 결과가 약 2~3배의 높은 처리량을 보여준다.

Response Time

응답시간은 유저가 작업을 요청하고 응답을 받기 까지 얼마나 걸리는지 나타내는 지표다. 응답시간이 오래 걸린다면 유저경험이 안 좋아 지기 때문에 반드시 확인해야하는 지표다.

Non-Cache

Cache

비교결과

Y축을 보면 숫자의 단위가 확 낮아진걸 확인 할 수 있는데 cache를 사용함으로써 약 2~3배 빠른 응답을 반환하는 것을 알 수 있다.

결과

성능 테스트에서 가장 중요하다고 생각 되는 처리량과 응답시간을 그래프로 비교하니 최소 2배에서 최대 3배가량 성능향상을 보여준 것을 확인 할 수 있다.

  • Non-Cache

  • Cache

좀 더 정확하게 성능향상을 눈으로 보고 싶어 성능 측정 수치 총 합량을 비교해보니 300% 성능이 높아 진 걸 확인 할 수 있었다.

profile
no-intelli 개발자 입니다. 그래도 intellij는 씁니다.

0개의 댓글