• Jmeter로 성능테스트해보자
  • Jmeter 장점 : sysbench와 다르게 쿼리를 설정할수있음

 

2. JMeter 설치하기

1) java 설치 : jmeter를 사용하려면 자바 8 버전이상이 필요하다. 아래 링크에서 OS맞는 버전을 다운로드 받아 설치한다. (있는 경우 설치할 필요X)

https://www.oracle.com/java/technologies/javase-downloads.html

 

2) jmeter 설치 : 아래 링크에서 jmeter툴을 설치할 수 있다. 바이너리 파일 중 zip파일을 다운로드 받는다. 

https://jmeter.apache.org/download_jmeter.cgi

3) JMeter툴 실행 : 압축을 풀고 bin 폴더 안에 있는 jmeter.bat 열어 JMeter을 실행시킨다. cmd창으로 로그 등을 확인할 수 있으므로 툴이 뜨고난 후에도 cmd창은 닫지 않는다.

 

3. JMeter - DB관련 도구 설치

1) 접속드라이버 설치 : Jmeter가 DB에 접속하기 위해서는 접속드라이버가 필요하다. 아래 링크에 들어가 platform independent 메뉴에서 zip파일을 다운로드 받으면 된다. 

https://dev.mysql.com/downloads/connector/j/

다운로드 받은 파일 압축을 푼다. .jar로 끝나는 JDBC 드라이버 파일을 복사해 jmeter폴더의 lib폴더에 넣어준다.

 

4. JMeter 사용하기 (미리 구성된 템플릿 이용)

Jmeter는 시작할 때 lib폴더를 참조하므로, Jmeter를 닫고 재실행한다.

 

1) 템플릿 생성 : [ File > Templates ]를 클릭하고 상단 셀렉트박스에서 JDBC Load Test를 클릭한다. create 버튼을 눌러 생성한다.

 

2) Connector 설정 : 테스트 서버에 접속정보를 입력

각 옵션에 대한 설명 확인 ▷ [ https://jmeter.apache.org/usermanual/component_reference.html ]

따로 완료 버튼은 없다. 

 

3) Thread Group 설정 : 쓰레드 그룹은 부하를 줄 양과 빈도를 설정

위와 같이 설정하면 10유저가 30초 안에 모두 실행해야 되므로, (30/10)초에 한 번씩 10개가 DB에 연결된다. 그리고 이 작업을 2번 반복한다. 

 

4) JDBC Request 설정 : 실제 테스트할 로직을 작성

 

5) Summary Report 추가 : summary report는 요청성공여부 통계를 내준다. DB에 부하가 많이 걸려서 요청에 실패하게 될 경우, 대략 몇 건까지 요청이 성공했는지 파악할 수 있다.

 

6) 결과 확인 : [ 파일 > 저장 ]을 눌러 파일을 저장하고 JDBC Request화면을 띄우고 상단에 초록색으로 된 시작버튼을 눌러 시작한다.

좋아요3
공유하기
게시글 관리
구독하기

'MySQL (Aurora) > TECH' 카테고리의 다른 글

Mysql Gap Lock  (1) 2024.10.16
mysql 8.0 error_log filter  (0) 2024.10.04
Aurora(Mysql) Version 별 Connector / Driver 설정  (1) 2024.09.13

1. Mysql Gap Lock 이란?

인덱스 레코드 사이에 잠금

Isolation_level이 Repeatable Read일떄만 발생

 

단점 : 인덱스 사이에 Gap Lock이 발생해서 데드락 유발

 

 

Gap Lock : https://dev.mysql.com/doc/refman/8.0/en/innodb-locking.html#innodb-gap-locks

 

cf)

https://medium.com/daangn/mysql-gap-lock-%EB%8B%A4%EC%8B%9C%EB%B3%B4%EA%B8%B0-7f47ea3f68bc

'MySQL (Aurora) > TECH' 카테고리의 다른 글

Mysql 성능테스트(jmeter)  (0) 2024.10.16
mysql 8.0 error_log filter  (0) 2024.10.04
Aurora(Mysql) Version 별 Connector / Driver 설정  (1) 2024.09.13
  • 기능
    • mysql 8.0 이상 error_log filter 기능 추가 (문자열)

  https://dev.mysql.com/doc/refman/8.4/en/error-log-priority-based-filtering.html

  • log_error_suppression_list
    • error log 수집 시 해당 문자열 제외 수집 
[Warning] [MY-013360] [Server] Plugin sha256_password reported: ''sha256_password' is deprecated and will be removed in a future release. Please use caching_sha2_password instead'
[Warning] [MY-013360] [Server] Plugin mysql_native_password reported: ''mysql_native_password' is deprecated and will be removed in a future release. Please use caching_sha2_password instead' (sql_authentication.cc:4314)

 

원인

mysql 8.0의 기본 인증 플러그인은 예전의 mysql_native_password가 아니라 caching_sha2_password이므로 해당 에레머세지가 발생
방법: 보안연결이나 RSA 연결로 인증 필요 다만 클라이언트 에서 컨트롤 필요하므로 에러 수정불가

 

  • 설정방법
    • 설치형 mysql
1) 파라미터
[mysqld]
log_error_verbosity=2     # error and warning messages only
log_error_suppression_list='ER_PARSER_TRACE,MY-010001,10002'
mysql> select @@log_error_suppression_list;
+------------------------------+
| @@log_error_suppression_list |
+------------------------------+
|                              |
+------------------------------+
1 row in set (0.00 sec)

2) 동적
mysql> set global log_error_suppression_list='MY-013360';
Query OK, 0 rows affected (0.01 sec)
mysql> select @@log_error_suppression_list;
+------------------------------+
| @@log_error_suppression_list |
+------------------------------+
| MY-013360                 |
+------------------------------+
  • Aurora

파라미터 변경

 

'MySQL (Aurora) > TECH' 카테고리의 다른 글

Mysql 성능테스트(jmeter)  (0) 2024.10.16
Mysql Gap Lock  (1) 2024.10.16
Aurora(Mysql) Version 별 Connector / Driver 설정  (1) 2024.09.13

 

  • Connector  vs Driver
정의 데이터베이스와 통신을 위한 전체 라이브러리 (JDBC 드라이버) 데이터베이스에 연결을 생성하고 관리하는 특정 클래스
역할 드라이버 클래스를 포함한 모든 데이터베이스 통신 기능 제공 JDBC를 통해 연결을 설정하고, 쿼리 실행을 관리함
예시 MySQL Connector/J
(mysql-connector-java-x.x.x.jar)
com.mysql.cj.jdbc.Driver
(MySQL 드라이버 클래스)
포함관계 커넥터는 드라이버 클래스와 그 외 다양한 기능을 포함 드라이버 클래스는 커넥터의 구성 요소 중 하나
설명 드라이버 클래스뿐만 아니라 JDBC 연결에 필요한 모든 기능을 포함한 라이브러리 패키지 커넥터 라이브러리 안에 포함된 데이터베이스 연결을 위한 특정 클래스
결론 Connector(패키지) 안에 Driver(클래스) 에 같은 DBMS로 설정 필요
  • JDBC

  •    
  • MySQL Connector/JMariaDB Connector/JAWS JDBC Driver
  MySQL Connector/J MariaDB Connector/J AWS JDBC Driver
호환성 MySQL 및 Aurora 가능 MySQL 및 Aurora 가능 Aurora만 가능
서비스 일반적인 지원중단 Aurora만 최적화 
안정성 가장 안정적 지원중단 Aurora만 최적화
  •  결론 : MySQL Connector/J  사용 권장

 

  • MySQL(Aurora) Version  Recommand Connector / Driver
    Aurora Version MySQL Version Connector Driver
    v2 5.7 MySQL Connector/J 5.14 com.mysql.jdbc.Driver
    v3 8.0 MySQL Connector/J 8.0 com.mysql.cj.jdbc.Driver
    • MySQL Connector/J 5.1.44 has been released'에 따르면 MySQL Connector/J 5.1.18보다 새로운 버전인 MySQL Connector/J 5.1.44는 MySQL 5.5, 5.6, 5.7용 드라이버로 설명되어 있으며

                 에서 MySQL 8.0.23 이상으로 연결하기 위해서는 MySQL Connector/J 8.0으로 업그레이드하는 것이 좋다는 설명을 확인할 수 있습니다.

 

 

 

 

'MySQL (Aurora) > TECH' 카테고리의 다른 글

Mysql 성능테스트(jmeter)  (0) 2024.10.16
Mysql Gap Lock  (1) 2024.10.16
mysql 8.0 error_log filter  (0) 2024.10.04

+ Recent posts