Middleware (오픈소스 활용-31) (부하테스트 Tool) Jmeter 를 활용한 JDBC 부하테스트 방법 -2
페이지 정보
작성자 미들웨어 아이디로 검색 전체게시물 댓글 0건 조회 857회 좋아요 0회 작성일 24-05-21 15:08본문
안녕하세요. "미들웨어" 입니다.
지난번에 이어 Jmeter 를 활용한 JDBC 부하테스트 방법 -2를 진행하겠습니다.
지난 가이드에서는 Jmeter를 설치하고 구성하는 방법을 자세히 다뤘으니 오늘은 부하 테스트를 하는 방법에 대해 자세히 다뤄 보겠습니다.
5. Jmeter update 시나리오 설계
File-New 로 새로 만들기 지정
모든 과정은 insert 와 같고 Update Query 부분만 아래와 같이 수정합니다.
Query : update employees set job_title = lpad('${empid}',200,'A') where employee_id = '${empid}'
empid 로 UK액세스 후에 job_title 이라는 값을 null 에서 200 byte 패딩후 업데이트 함.
(자리수는 시나리오, 요구 업데이트 부하량에 에 따라 조정)
6. Jmeter RAC 동시 부하 시나리오 설계
File-New 로 새로 만들기 지정
모든 과정은 위 시나리오와 같고, Database URL을 Scan IP로 지정함
(예시) jdbc:oracle:thin@://db-scan:1521/BMTDB
각각 insert, update 에 대한 RAC 부하 시나리오를 작성하고, insert_scan.jmx, insert_update.jmx 로 저장합니다.
7. 부하 테스트 수행 GUI 모드
작성된 시나리오 jmx 파일을 불러온 후, start 버튼을 누르면 부하테스트가 실행됩니다.
Summary Report 를 통해 수행된 트랜잭션 수(Samples), Throughput/sec 값을 모니터링 할 수 있습니다.
8. 부하 테스트 수행 CLI 모드
jmeter -n -t <시나리오.jmx 파일> -l <로그파일> 방식으로 cli 모드로 수행 가능합니다.
시나리오 디자인은 GUI모드로 하고 실부하 테스트는 CLI모드로 해야 주어진 환경에서 최상의 부하 성능을 낼 수 있습니다.
부하 수행 예시 스크립트
[oracle@hol script]$ cat 40_insert.sh sqlplus test/test@pdb2 <<! exec dbms_workload_repository.create_snapshot (); exit !
rm 40_insert.log /home/oracle/script/apache-jmeter-5.4.1/bin/jmeter -n -t ./insert.jmx -l 40_insert.log
sqlplus test/test@pdb2 <<! exec dbms_workload_repository.create_snapshot (); exit !
[oracle@hol script]$ cat 50_update.sh sqlplus test/test@pdb2 <<! exec dbms_workload_repository.create_snapshot (); exit !
rm 50_update.log /home/oracle/script/apache-jmeter-5.4.1/bin/jmeter -n -t ./update.jmx -l 50_update.log
sqlplus test/test@pdb2 <<! exec dbms_workload_repository.create_snapshot (); exit ! |
CLI insert 스크립트 수행 결과 (OCI VM.Std.8 balanced Block Storage 에서 수행한 결과 - 800만건 insert에 5분40초 소요, 평균 20272.7 TPS 나옴)
[oracle@hol script]$ ./40_insert.sh SQL*Plus: Release 19.0.0.0.0 - Production on Mon Sep 13 05:33:35 2021 Version 19.12.0.0.0
Copyright (c) 1982, 2021, Oracle. All rights reserved. Last Successful login time: Mon Sep 13 2021 05:33:12 +00:00 Connected to: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production Version 19.12.0.0.0
OLTP@pdb2> PL/SQL procedure successfully completed. Elapsed: 00:00:03.21 OLTP@pdb2> Disconnected from Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production Version 19.12.0.0.0
Creating summariser <summary> Created the tree successfully using ./insert.jmx Starting standalone test @ Mon Sep 13 05:33:40 GMT 2021 (1631511220531) Waiting for possible Shutdown/StopTestNow/HeapDump/ThreadDump message on port 4445 summary + 107472 in 00:00:19 = 5627.7/s Avg: 83 Min: 0 Max: 18376 Err: 0 (0.00%) Active: ... 생략
OLTP@pdb2> PL/SQL procedure successfully completed. Elapsed: 00:00:02.81 OLTP@pdb2> Disconnected from Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production Version 19.12.0.0.0 [oracle@script]$ |
헤당 내용 보시고 Jmeter 을 활용하여 DB 테스트를 수행하시면 됩니다.
그럼.. 열공하세요~!
댓글목록
등록된 댓글이 없습니다.