공유할 서비스 선택

TECH


TECH

Middleware (오픈소스 활용-31) (부하테스트 Tool) Jmeter 를 활용한 JDBC 부하테스트 방법 -2

페이지 정보

작성자 미들웨어 아이디로 검색 전체게시물 댓글 0건 조회 1,148회 좋아요 0회 작성일 24-05-21 15:08

본문

안녕하세요. "미들웨어" 입니다.  

 

지난번에 이어  Jmeter 를 활용한 JDBC 부하테스트 방법 -2를 진행하겠습니다. 

지난 가이드에서는 Jmeter를 설치하고 구성하는 방법을 자세히 다뤘으니 오늘은 부하 테스트를 하는 방법에 대해 자세히 다뤄 보겠습니다. 




5. Jmeter update 시나리오 설계

File-New 로 새로 만들기 지정

1265e130a1ff3d559f532815c70f47ee_1716271154_8581.png


모든 과정은 insert 와 같고 Update Query 부분만 아래와 같이 수정합니다.

Query : update employees set job_title = lpad('${empid}',200,'A') where employee_id = '${empid}'

empid 로 UK액세스 후에 job_title 이라는 값을 null 에서 200 byte 패딩후 업데이트 함.

(자리수는 시나리오, 요구 업데이트 부하량에 에 따라 조정)

1265e130a1ff3d559f532815c70f47ee_1716271166_9428.png
작성한 파일은 update.jmx 로 저장합니다.




6. Jmeter RAC 동시 부하 시나리오 설계

File-New 로 새로 만들기 지정

1265e130a1ff3d559f532815c70f47ee_1716271179_1462.png


모든 과정은 위 시나리오와 같고, Database URL을 Scan IP로 지정함

(예시) jdbc:oracle:thin@://db-scan:1521/BMTDB

1265e130a1ff3d559f532815c70f47ee_1716271195_0485.png
각각 insert, update 에 대한 RAC 부하 시나리오를 작성하고, insert_scan.jmx, insert_update.jmx 로 저장합니다.




7. 부하 테스트 수행 GUI 모드

작성된 시나리오 jmx 파일을 불러온 후, start 버튼을 누르면 부하테스트가 실행됩니다.

1265e130a1ff3d559f532815c70f47ee_1716271210_0463.png


Summary Report 를 통해 수행된 트랜잭션 수(Samples), Throughput/sec 값을 모니터링 할 수 있습니다.

1265e130a1ff3d559f532815c70f47ee_1716271223_6364.png



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 테스트를 수행하시면 됩니다.

그럼.. 열공하세요~!







댓글목록

등록된 댓글이 없습니다.

TECH 목록
번호 제목 작성자 작성일 조회수
245 OS OSworker 아이디로 검색 전체게시물 03-29 66
이슈 : sbd watchdog type stonith 사용시 메모리 누수 발생 #RHEL8.10 #RHEL9.4

카테고리 : OS

66 0
작성자 : OSworker 25/03/29
244 OS OSworker 아이디로 검색 전체게시물 03-23 121
Linux 명령어 : du vs df 차이점에 대해 알아보겠습니다.

카테고리 : OS

121 0
작성자 : OSworker 25/03/23
243 OS OSworker 아이디로 검색 전체게시물 03-15 144
아직도 헷갈려 하시는 RHEL Life-cycle에 대해 좀 더 설명드리고자 합니다. RHEL5하고 RHEL6 "ongoing"

카테고리 : OS

144 0
작성자 : OSworker 25/03/15
242 OS OSworker 아이디로 검색 전체게시물 02-28 222
3월 11일에 RedHat 코리아에서 개최하는 행사가 있습니다. 어서 등록하세요~!!

카테고리 : OS

222 0
작성자 : OSworker 25/02/28
241 OS OSworker 아이디로 검색 전체게시물 02-23 233
Extended Life Cycle Support Extension 6 RHEL6 버전의 패키지가 아직도 나온다구요?

카테고리 : OS

233 0
작성자 : OSworker 25/02/23
240 OS OSworker 아이디로 검색 전체게시물 02-17 340
Red Hat Enterprise Linux 10 Beta -> 지금 이용 가능

카테고리 : OS

340 0
작성자 : OSworker 25/02/17
239 OS OSworker 아이디로 검색 전체게시물 01-28 413
2025년 엔터프라이즈 리눅스를 시작해야 하는 10가지 이유

카테고리 : OS

413 0
작성자 : OSworker 25/01/28
238 OS OSworker 아이디로 검색 전체게시물 01-19 631
RHEL9 에서 bonding 명령어로 설정, nmtui 사용하여 설정, 스크립트로 설정하는 법

카테고리 : OS

631 0
작성자 : OSworker 25/01/19
237 OS OSworker 아이디로 검색 전체게시물 01-12 640
RHEL9 에서 달라진 Network 설정을 알아보겠습니다.

카테고리 : OS

640 0
작성자 : OSworker 25/01/12
236 OS OSworker 아이디로 검색 전체게시물 12-29 678
여러분 리눅스 무료 배포판 NAVIX를 들어보셨나요? Naver + linux ??

카테고리 : OS

678 0
작성자 : OSworker 24/12/29
Total 245건
게시물 검색

주식회사 클럭스| 대표 : 이찬호| 사업자등록번호 : 107-87-27655
주소 : 서울특별시 영등포구 국회대로 800, 여의도파라곤
E-mail : sales@chlux.co.kr
Copyright © 클럭스 chlux.co.kr All rights reserved.
상단으로Top