[DB] JMeter 부하 테스트

2024. 12. 2. 17:01· CS/DB
목차
  1. JMeter 설치
  2. Thread Group 설정하기
  3. JDBC Connection Configuration 설정
  4. JDBC Request 설정
  5. View Request Tree 설정
  6. Summary Report 설정
  7. 부하 테스트 실습
  8. 서버 최대 접속자 수 설정
728x90

JMeter 설치

공식 사이트

https://jmeter.apache.org/

 

Apache JMeter - Apache JMeter™

Apache JMeter™ The Apache JMeter™ application is open source software, a 100% pure Java application designed to load test functional behavior and measure performance. It was originally designed for testing Web Applications but has since expanded to oth

jmeter.apache.org

 

 

설치를 하고 bin 폴더에 jmeter.bat 파일을 실행하면

JMeter 프로그램 창이 뜬다.

 

 

 

jmeter폴더 lib 폴더에 mariadb jar 파일 붙여넣기

옮겨 넣으면 JMeter가 DB로 연결할 수 있게 된다.

 


 

Thread Group 설정하기

Edit - Add - Threads(User) - Thread Group 으로 그룹 추가하기

 

 

Number of Threads (users) : 접속자 수

  • 크면 클수록 서버가 힘들어짐

Ramp-up period (seconds) : 접속자가 접속하는 시간

  • 짧을수록 서버가 더 힘들어짐

Loop Count : 반복 횟수

 


JDBC Connection Configuration 설정

Thread Group 우클릭 -  Add -Configure Element ->  JDBC Connection Configuration

 

 

 

Variable Name for created pool : pool 이름

 

Validation Query : select 1
Database URL : jdbc:mariadb://[DB 서버 IP 주소]:3306/[DB 이름]
JDBC Driver class : org.mariadb.jdbc.Driver (Driver 클래스)
Username : DB 서버에 접속할 ID
Password : DB 서버에 접속할 PW

 


JDBC Request 설정

Thread Group 우클릭 -> Add -> Sampler -> JDBC Request

 

 

Variable Name of Pool declared in JDBC Connection Configuration : dbpool (아까 설정한 pool 이름)
Query Type : Select Statement
Query : SELECT * FROM member; (돌려볼 쿼리)


View Request Tree 설정

Test Plan 우클릭 -> Listener -> View Result Tree 

 

Summary Report 설정

Test Plan 우클릭 -> Listener -> Summary Report

 

 

 

설정이 끝나면 왼쪽 탭에 이렇게 띄워져 있다.

 

 


부하 테스트 실습

위쪽 실행 버튼을 누르면 아까 입력한 쿼리가 실행된다.

초록색으로 뜬 거면 통신이 잘 되는 것이다.

 

 

 

지금까지 한 것들을 지우고 싶으면 빗자루 모양 버튼을 누르면 된다.

설정 후 지우고 실행하고 설정 후 지우고 실행하고 반복

 

사용자를 1000 으로 늘렸더니 안 되는 요청도 있다.

 

 

확인해보니 Too many connections가 뜨는 것을 확인할 수 있다.

 

 

사용자가 너무 많이 접속하게 되면 DB 서버 메모리가 점점 줄어들다가 없어지기 때문에 다른 사용자와 통신할 수 없게 된다.

 

 

 

💡JMeter가 먹통일 때
Jmeter.bat 파일을 메모장으로 연 후 아래 부분을 4g - 8g - 1g로 설정한다.
더 많은 메모리를 할당하는 코드

 

 

Max 가 최대 걸리는 시간

=> 22223이면 22초 정도 됨,,,, 넘 느리다

 

 


서버 최대 접속자 수 설정

SQL로도 할 수 있지만, 서버의 설정은 SQL로 하기 보다는 서버의 설정 파일을 수정하는 게 좋다.

vi /etc/mysql/mariadb.conf.d/50-server.cnf

 

max_connections = 200 으로 바꿔준 후 주석 처리를 제거해준다.

 

설정했으면 `systemctl restart mariadb`로 재시작

728x90
저작자표시 비영리 변경금지 (새창열림)

'CS > DB' 카테고리의 다른 글

[DB] DB 서버 부하 분산 (HAProxy)  (0) 2024.12.03
[DB] 재해 복구(DR) / DB 서버 Replication 설정 / 미러 사이트 구성 실습  (0) 2024.12.03
[DB] SQL 성능 개선  (1) 2024.12.02
[DB] SQL 코테 문제 풀어보기 (프로그래머스)  (3) 2024.11.29
[DB] SQL 문법  (1) 2024.11.29
  1. JMeter 설치
  2. Thread Group 설정하기
  3. JDBC Connection Configuration 설정
  4. JDBC Request 설정
  5. View Request Tree 설정
  6. Summary Report 설정
  7. 부하 테스트 실습
  8. 서버 최대 접속자 수 설정
'CS/DB' 카테고리의 다른 글
  • [DB] DB 서버 부하 분산 (HAProxy)
  • [DB] 재해 복구(DR) / DB 서버 Replication 설정 / 미러 사이트 구성 실습
  • [DB] SQL 성능 개선
  • [DB] SQL 코테 문제 풀어보기 (프로그래머스)
셰욘
셰욘
셰욘
seiyeon
셰욘
전체
오늘
어제
  • 분류 전체보기 (176)
    • 알고리즘 (46)
      • 프로그래머스 (2)
      • 백준 (37)
      • 문제 유형 (7)
    • CS (41)
      • Linux (6)
      • DB (15)
      • 자료구조 (3)
      • OOP (2)
      • 아키텍처 (0)
    • BE (42)
      • Java (9)
      • Spring Boot (32)
    • FE (6)
      • Next.js (1)
      • JavaScript (5)
      • Vue.js (7)
      • Web (0)
    • 배포 (5)
    • 회고 (19)
      • BEYOND SW 캠프 (19)
    • 기타 (3)

블로그 메뉴

  • 홈
  • 태그
  • 방명록
  • 블로그 관리

공지사항

인기 글

태그

  • 티스토리챌린지
  • 그리디
  • 우선순위 큐
  • 백준
  • 알고리즘
  • 리눅스
  • fe
  • vue
  • 오블완
  • 회고
  • 트리
  • 자료구조
  • cs
  • web
  • bfs
  • 백트래킹
  • AWS
  • be
  • db
  • DP
  • 네트워크
  • dfs
  • Gateway
  • Java
  • 주간회고
  • 실습
  • 구현
  • spring boot
  • 프로그래머스
  • js

최근 댓글

최근 글

250x250
hELLO · Designed By 정상우.v4.2.1
셰욘
[DB] JMeter 부하 테스트
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.