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로 하기 보다는 서버의 설정 파일을 수정하는 게 좋다.