제이미터JMeter로 테스트 세팅 및 사용법 정리

제이미터JMeter로 테스트 세팅 및 사용법 정리

이번 포스팅에선 웹 어플리케이션 성능 테스트 오픈 소스인 JMeter에 관련해서 알아보겠습니다. Apache에서 만든 자바로 만들어진 웹 어플리케이션 성능 테스트 오픈 소스입니다. JMeter를 이용해서 아래와 같은 테스트를 할 수 있습니다.


Thread Group 설정
Thread Group 설정

Thread Group 설정

쓰레드 그룹은 부하를 줄 양과 빈도를 설정 아차피 제이미터의 꽃이자 핵심입니다. 이중 쓰레드 그룹이 제일 중요한데, 내가 설정해준 부하로 RDS 서버로 보내기 때문입니다. Number of Threads 쓰레드 개수이용자 수 Rampup period 쓰레드 개수를 만드는데 소요되는 시간 즉 테스트에 걸리는 총 시간 Loop Count infinite 혹은 n 으로 값을 설정할 수 있으며 설정된 값에 따라 Number of Threads 와 Rampup period 만큼 요청을 다시 보낸다.

쉽게 말해 반복 횟수입니다. 위와 같이 설정하면 10유저가 30초 안에 모두 실행해야 되므로, 3010초에 한 번씩 총 10개 쓰레드가 DB에 연결됩니다. 그리고 이 업무를 2번 반복합니다.

Configuration 설정
Configuration 설정

Configuration 설정

테스트할 DB 서버 연결 설정을 합니다. 관련옵션 정식문서 연결 최대 갯수는 설정을 하면 디비 서버에 최대로 커넥트할 수 있는 쓰레드 갯수입니다. 0으로 하면 최대치까지 허용합니다. 나머지는 기본값 그대로 두었다. DB 연결 설정입니다. 아파치 제이미터는 테스트 하는 웹 어플리케이션 서버와 테스트를 돌리는 서버는 서로 달라야 합니다. JMeter를 돌리는 서버와 웹 어플리케이션 서버가 같으면 같은 메모리를 사용하기 때문에 구조화된 값을 측정할 수 없기 때문입니다.

IDE 프로젝트의 야믈파일에서 datasource 적듯이 연결할 데이터베이스 URL을 기입해줍니다.

스레드 사용법

스레드 사용법은 다른 SNS들과 크게 다를바 없습니다. 하단에 있는 메뉴 탭은 인스타그램과 흡사다고 보시면 되는데 텍스트 위주입니다. 보니 사진으로 대신하는 인스타와 달리 정신지저분이 없어 보일 수 있습니다. 돋보기를 클릭하시면 현재 스레드를 사용하고 있는 유저들이 쭈욱 뜨는데 연예인파란 딱지들도 많이 가입되어 있는 걸 볼 수 있고, 하트 모양은 활동내역을 볼 수 있으며 게시물을 올릴 땐 가운데에 있는 글쓰기 버튼을 클릭하시면 됩니다.

인스타그램은 다른 사람의 글을 퍼갈 때는 리그램 혹은 리포스트앱을 별도로 설치해야 했었지만 스레드는 퍼가고 싶은 게시글 밑에 있는 동기화 아이콘처럼 생긴 아이콘을 클릭하시면 바로 퍼갈 수 있게 리포스트와 인용하기가 뜹니다.

Summary Report

Label Sampler 명 Samples 샘플 실행 수 Number of Threads X Rampup period Average 평균 걸린 시간 ms Min 최소 Max 최대 Std. Dev. 표준편차 Throughput 분당 처리량 Received KBsec 초당 받은 데이터량 Sent KBsec 초당 보낸 데이터량 Avg. Bytes 서버로부터 받은 데이터 평균 View Results에 대한 통계를 나타냅니다.

통계 정보가 필요한 경우 사용하면 되겠습니다.

error

경로를 일부러 틀리게 작성하여 실행해보니 에러가 발생했습니다. Response data탭에서 404에러가 발생하였다는 것을 확인할 수 있었습니다. 작업 보고서 작성용으로 테스트를 진행해 보았습니다. 툴 사용방법이 쉽고, 결과데이터를 한눈에 볼 수 있다는 점이 좋았습니다.

자주 묻는 질문

Thread Group

쓰레드 그룹은 부하를 줄 양과 빈도를 설정 아차피 제이미터의 꽃이자 핵심입니다. 궁금한 사항은 본문을 참고하시기 바랍니다.

Configuration

테스트할 DB 서버 연결 설정을 합니다. 궁금한 사항은 본문을 참고하시기 바랍니다.

스레드 사용법

스레드 사용법은 다른 SNS들과 크게 다를바 없습니다. 좀 더 구체적인 사항은 본문을 참고하시기 바랍니다.