※ 이 글에서 다룬 기반기술, 프론트엔드, 백엔드, 데브옵스 등 풀스택 개발 지식은 모두 한화시스템 Beyond SW Camp 12기에서 배운 내용을 복습한 것입니다.
1. JMeter 설치
https://jmeter.apache.org/download_jmeter.cgi
Apache JMeter - Download Apache JMeter
Download Apache JMeter We recommend you use a mirror to download our release builds, but you must verify the integrity of the downloaded files using signatures downloaded from our main distribution directories. Recent releases (48 hours) may not yet be ava
jmeter.apache.org

해당 파일을 다운 후 압축을 풀면된다.

압축을 푼 파일의 bin 밑에 jmeter.bat 파일을 실행하면 JMeter가 실행된다.
2. DB 커넥터 연결
JMeter는 기본적으로 DB와 직접적인 연결을 지원하지 않기 때문에 DB 부하 테스트를 하려면 JDBC 커넥터를 다운받아야 한다.
나는 강사님이 주신 mariadb-java-client-3.3.3.jar 를 다운받았다.

다운받은 파일은 lib 파일 밑에 넣어주었다.

3. JMeter 설정


Number of Thread : 접속자 수 100
Ramp-up period : 접속자가 접속하는 시간 1
Loop Count : 반복 횟수 1
나는 접속자 수를 100으로 해보았다.


● Variable Name for created pool : dbpool
데이터베이스 연결 풀 객체를 참조할 변수 이름을 설정
● Validation Query : select 1
데이터베이스 연결이 유효한지 확인하는 간단한 테스트 쿼리
● Database URL : jdbc:mariadb://[DB 서버 IP 주소]:3306/[DB 이름]
MariaDB 서버와 연결할 URL을 설정
● JDBC Driver class : org.mariadb.jdbc.Driver
MariaDB에 접속할 JDBC 드라이버 클래스를 설정
● Username : DB 서버에 접속할 ID
● Password : DB 서버에 접속할 PW


● Variable Name of Pool declared in JDBC Connection Configuration : dbpool
이전에 설정한 JDBC 연결 풀의 변수 이름 (dbpool)을 입력 이 JDBC 요청이 사용할 연결 풀을 지정
● Query Type : Select Statement
실행할 SQL 쿼리 유형을 지정
● Query : SELECT * FROM member;
실행할 SQL 쿼리를 작성




4. 부하 테스트

위의 버튼을 누르면 내가 해놓은 설정을 바탕으로 부하테스트가 실행된다.

위에서 설정한대로 100명의 사용자가 동시에 SQL 쿼리문을 요청했을때의 부하 테스트이다. 요청이 모두 누락없이 잘 전송된 것을 볼 수 있고 오류도 0퍼센트이다.

위의 버튼을 누르면 이전에 나왔던 실행결과를 모두 지우고 새로 실행할 수 있다.

부하를 높여보니 전송에 실패하는 요청도 있고 에러율도 높아진 것을 확인할 수 있다.
서버 최대 접속자 수 수정(리눅스)
파일 수정
/etc/mysql/mariadb.conf.d/50-server.cnf
맨 앞에 주석은 제거하고 숫자 변경해서 저장
max_connections = 200
systemctl restart mariadb
'한화시스템 Beyond SW Camp > 기반기술' 카테고리의 다른 글
[리눅스] DB 분산 (클러스터 방식) (1) | 2024.12.04 |
---|---|
[리눅스] nginx로 Tomcat 분산 처리 (1) | 2024.12.04 |
[리눅스] DB 분산 (Master-Slave(Hot Site) 방식) (0) | 2024.12.03 |
[리눅스] DB 분산 (DRP, HAProxy, mariaDB, Master-Slave(Mirror Site) 방식) (0) | 2024.12.03 |
[Database] INDEX, 스토어드 프로시저, View, 반정규화 (0) | 2024.12.02 |