Jmeter를 활용한 동시성 처리 테스트

Terror·2024년 10월 29일

최종 프로젝트

목록 보기
7/28
post-thumbnail

Overivew

  • Jmeter를 활용한 방법과, 동시성 처리에 대한 방법을 알 수 있습니다

Jmeter 설치

https://pepega.tistory.com/86

  • 상단 블로그를 확인해주세요!

Jmeter를 활용하여 우리 서버에 요청을 날려보자

  • 만약 Jmeter가 잘 켜져있다면 아래와같은 화면이 나올것이다
  • 여기서 Test Plan을 마우스 우클릭한 다음 아래 사진의 파란색에 따라 만들어주자
  • 만들면 쓰레드 그룹이라는것이 만들어지고, 그 안에 Thread properties가 중요한 부분이니 잘봐보자
    • Number of Threads : 몇개의 서버로 요청 할것인지
    • Ramp-up period : 시작되는 속도 제어
    • Loop Count : 몇번 반복할것인지
  • 다시 쓰레드 그룹을 우클릭 한후, 아래 사진의 파란색에 따라 만들어주자
  • 만들면 Http Request라는게 만들어지는데 아래의 그림을 보고 이해할 수 있다
  • 좌측 상단의 초록색 재생버튼을 눌러보면...
  • 컨텐트 타입이 맞지않는다고 나온다, jmeter로 돌아와서 쓰레드 그룹을 마우스 우클릭한후 아래의 그림에 다라 만들어주자
  • header에 application/json을 설정해주자
  • 그리고 다시한번 로그인 하면...
  • 셀렉 쿼리가 정상적으로 나가는 것을 확인 할 수 있다

  • 보통 우리는 회원가입,로그인 하는 로직을 제외하고 header에 jwt값이 담겨야 하기때문에 이 부분도 반영시켜보겠다

    혹시 복붙이 안되는 분은 jmeter의 테마를 변경해보아라

  • 먼저 포스트맨으로 로그인한후 토큰을 획득하고, 해당 토큰을 jmeter의 header값에 넣어준다

  • 그리고 요청을 날려보면 서버에서 로그가 잘 찍히는걸 볼 수 있다

  • 그 외 부가적으로도 http 127.0.0.1 같은 공통적인 작업을 하나에 설정한후 진행 하는 방법도 있으니 잘 찾아보면 좋을것이다

본격적인 동시성 처리를 해보자

    void matchingCreateTest(){
        User user = userService.findById(1L);
        Portfolio portfolio = portfolioService.findById(1L);
        Outsourcing outsourcing = outsourcingService.findById(1L);

            Matching matching = new Matching(
                    null,
                    user,
                    portfolio,
                    outsourcing,
                    MathingStatusType.READY
            );
            matchingRepository.save(matching);

    }
  • 코드는 단순하다 특정 유저가 특정 포트폴리오를 가지고 특정 회사의 공고(outsourcing)에 지원을 하여 매칭을 1개 만드는 개념이다
  • 우리가 실험해볼것은 이 1개의 신청상태(매칭상태)를 담당자1,담당자2,담당자3...담당자 100 등이 같은 요청에 대해 수락,거절,수락 버튼을 눌렀을때의 처리를 구현해보고자 한다
  • 100명의 담당자가 하나의 매칭에 처리할것을 테스트 할것이기 때문에 쓰레드 그룹의 user를 100명으로 지정해준다
  • 매칭을 수락하는 URI로 요청을 설정하고 데이터를 날려준다
  • version이 61에서 멈춘것으로보아 39번의 예외처리가 발생됐을것이다
  • 다시한번 요청을 날려보았을떄도 에러율은 42퍼센트를 기록하고있다
  • 근데 다시 생각해보니 이렇게하면 100명의 담당자가 하나의 요청에 대해 이러쿵 저러쿵 처리하는 셈이 되는데 이게좀 앞뒤가 맞지않는것같다
  • 다음은 조금더 정확한 시나리오와, 예외처리에대해 알아보자

참조 자료

https://www.youtube.com/watch?v=1AyxqIePusA&t=308s

profile
테러대응전문가

0개의 댓글