오픈소스기반 부하발생툴인 Apache Jmeter 를 이용해서 오라클 데이터베이스에 연결하는 방법을 정리해보겠습니다.
Jmeter 툴은 아래 아파치 Jmeter 사이트에서 다운로드 받을 수 있습니다.
>> https://jmeter.apache.org/download_jmeter.cgi
Jmeter 를 실행하려면 Java (JRE) 가 필요합니다.
Jmeter 실행에 필요한 JRE 버전이 있으니, 버전을 맞춰서 준비해줘야 합니다.
Jmeter 5.4.1 버전의 경우에는 JRE 8 버전 이상이 필요한데, 이건 다운로드 페이지에 아래처럼 대문짝만하게 적혀있습니다.
Jmeter 에서 Oracle Database 에 연결해서 테스트를 수행하기 위해서는 아래와 같은 구성 설정이 필요합니다.
처음에는 "Test Plan" 하나밖에 없습니다.
거기에 마우스 오른쪽 버튼을 누르면 메뉴가 나오는데 팝업메뉴에서 선택해서 위와같이 구성해주면 됩니다.
JDBC Connection Configuration
-- 오라클 DB 접속을 위한 JDBC 접속정보 설정
CSV Data Set Config
-- Insert, Update 등의 테스트를 할때 필요한 데이터 파일을 지정합니다.
Thread Group
-- 몇개의 동시유저를 띄워서 몇번 반복 할 지 등을 설정합니다.
JDBC Request
-- JDBC 를 통해서 실행할 SQL을 여기에서 설정합니다.
Summary Report
-- 실행정보(데이터건수, 에러율, TPS 등)를 실시간으로 볼 수 있습니다.
각각의 메뉴 위치는 아래와 같습니다.
"Test Plan" 에 대고 마우스 우클릭하면 팝업창이 뜨는데, [Config Element] 메뉴에서 선택해서 추가해줍니다.
"JDBC Request" 는 앞에서 추가한 "Thread Group" 에 대고 마우스우클릭한 후에 [Sampler] 메뉴로 들어가면 됩니다.
"Summary Report" 는 "Listener" 메뉴에서 선택/추가할 수 있습니다.
이제부터는 추가한 각각의 구성요소들을 클릭해서 필요한 설정을 해보도록 하겠습니다.
Test Plan
가장 먼저, Oracle JDBC 라이브러리를 등록해줘야 합니다.
"Test Plan" 항목을 클릭하면 오른쪽 화면에서 JDBC 드라이버 위치를 등록할 수 있습니다.
[Browse] 버튼을 눌러서 정확한 드라이버 위치를 지정해줍니다.
JDBC Connection Configuration
Oracle Database 와 JDBC 접속을 하기 위한 정보를 설정합니다.
먼저, [Variable Name for created pool] 항목에 적당한 이름을 입력합니다.
이 이름은 뒤에 "JDBC Request" 설정할 때 정확히 같은 이름으로 넣어줘야 합니다.
[Max Number of Connections] 는 커넥션풀(Connection Pool) 갯수를 지정합니다.
Thread(동시사용자)를 100개로 지정하더라도 이 갯수를 10개로 지정하게 되면, DB와의 직접연결은 10개만 생기고 100개의 Thread 가 10개의 커넥션풀을 나눠서 사용하게 됩니다.
이 값에 0 을 입력하면, Thread 갯수에 맞춰서 커넥션풀 갯수를 자동으로 같게 맞춰줍니다.
[Database Connection Configuration] 항목에는 JDBC 접속정보를 입력합니다.
CSV Data Set Config
Insert, Update 등의 테스트를 할때 필요한 데이터 파일을 지정합니다.
csv 파일내의 컬럼을 변수로 받아서 SQL에서 사용합니다. 변수이름을 지정합니다.
저는 첫번째 컬럼은 empid, 두번째 컬럼은 value 로 지정하였습니다.
Thread Group
몇개의 동시유저를 띄워서 몇번 반복 할 지 등을 설정합니다.
위의 경우는 50개의 Thread(동시유저)를 띄워서 10000번 반복하도록 설정하였습니다.
JDBC Request
JDBC 를 통해서 실제로 실행할 SQL을 여기에서 설정합니다.
[Variable Name of Pool declared in JDBC Connection Configuration] 항목에 앞서 "JDBC Connection Configuration" 에서 지정한 이름을 정확히 똑같이 적어줍니다. 이게 안맞으면 실행 안됩니다.
다음으로 [Query Type] 을 선택해줍니다.
조회 Query 의 경우는 "Select Statement" 를 선택해주고, Insert/Update/Delete 의 경우는 "Update Statement" 를 선택해줍니다.
[Query] 항목에 실행할 SQL을 입력해줍니다.
이때 변수명은 ${변수명} 와 같이 넣어주면 됩니다. 이 변수명은 앞에 "CSV Data Set Config" 구성항목 화면에서 정의한 변수명이어야 합니다. 이 변수명은 아래 [Variable Names] 항목에도 입력해줍니다.
SQL문을 입력할때 마지막에 세미콜론(;)을 넣으면 에러가 납니다. 세미콜론을 제외한 SQL문만 넣어줘야 합니다.
Summary Report
Summary Report 는 특별히 설정해주지 않아도 알아서 자동으로 실행정보(데이터건수, 에러율, TPS 등)를 가져와서 실시간으로 보여줍니다.
'IT관련' 카테고리의 다른 글
오라클 RAC One Node Database 설치하기 (Oracle HA DB) (0) | 2021.09.16 |
---|---|
서버 2대에 Oracle 19c RAC 설치하기 (Install Grid Infrastructure) - DB 이중화 구성 (0) | 2021.09.15 |
오라클 RMAN 블록 손상 (Block Corruption) 복구 (ORA-01578, ORA-01110) (5) | 2021.09.11 |
오라클 ORA-00060 데드락(Deadlock) 에러 확인/조치 방법 (0) | 2021.08.15 |
서버간 passwordless SSH 접속이 잘되는데, Oracle RAC 설치시 에러가 나는 경우 INS-06006, INS-06009, INS-44015, INS-44000 (0) | 2021.07.31 |