본문 바로가기
Engineering/Jmeter, Postman

[jmeter] postgresql driver 사용하여 쿼리하기

by 알탱2 2023. 10. 27.
반응형

특정 테스트 시나리오를 자동화 해보려고 했는데, DB에 쿼리한 값과 API 응답 결과 데이터를 Assertion 해야하는 상황이었다.

DB에 쿼리하는 JDBC Driver를 jmeter에 사용했던 것을 예전에 보기만 했었고 직접 사용해본 적은 없어서..

GPT에 물었다.. ABC 라는 postgresql에 접속해서 test라는 테이블을 조회하는 방법을.. :)

 

  1. JDBC 드라이버 다운로드:
    • 먼저 PostgreSQL JDBC 드라이버를 다운로드하십시오. PostgreSQL 버전에 따라 드라이버 버전이 다를 수 있습니다. PostgreSQL JDBC 드라이버는 PostgreSQL 공식 웹 사이트에서 다운로드할 수 있습니다. JAR 파일을 다운로드하고 JMeter의 lib 디렉터리에 복사합니다.
  2. JMeter 실행:
    • JMeter를 실행하십시오.
  3. Thread Group 생성:
    • JMeter 테스트 계획을 만들고 그 아래에 Thread Group을 생성합니다.
  4. JDBC 연결 구성:
    • Thread Group 아래에서 "JDBC Connection Configuration" 요소를 추가합니다.
    • JDBC URL: PostgreSQL 데이터베이스의 URL을 입력합니다. 일반적으로 jdbc:postgresql://호스트:포트/데이터베이스이름 형식입니다.
    • JDBC Driver Class: org.postgresql.Driver
    • Username과 Password: PostgreSQL 데이터베이스에 액세스할 사용자 이름과 비밀번호를 입력합니다.
  5. JDBC 요청 구성:
    • Thread Group 아래에서 "JDBC Request" 요소를 추가합니다.
    • Name: 요청에 대한 이름을 설정합니다.
    • Variable Names: 쿼리 결과의 열 이름을 저장할 변수 이름을 지정합니다.
    • SQL Query: 데이터를 조회할 SQL 쿼리를 입력합니다. 예를 들어, SELECT * FROM test와 같은 쿼리를 사용할 수 있습니다.
  6. JDBC 연결 및 요청 연결:
    • "JDBC Request" 요소와 "JDBC Connection Configuration" 요소를 연결하려면 "JDBC Connection Configuration" 요소에서 "JDBC Connection Configuration" 드롭다운 메뉴를 선택하고 해당 연결을 선택하십시오.
  7. 결과 저장 (선택 사항):
    • 원한다면 결과 데이터를 저장하거나 로깅할 수 있습니다. "View Results Tree" 리스너 또는 "View Results in Table" 리스너를 사용하여 결과를 확인하고 분석할 수 있습니다.
  8. 테스트 실행:
    • 설정이 완료되면 테스트를 실행할 수 있습니다. "Run" 메뉴에서 "Start" 또는 "Start No Pause"를 선택하여 테스트를 실행합니다.

 

가이드에 따라 PostgreSQL 공식 사이트에서 내 PC에 설치된 java 버전에 맞는 jar 파일을 다운로드 하여 아래의 경로에 넣어주었다.

내 PC의 경우 mac이고, 경로를 찾아보니 아래의 경로였다. 

/opt/homebrew/Cellar/jmeter/5.5/libexec/lib

jar 파일을 넣어주고 jmeter를 재시작하고, 다음 스텝을 따라해 보았다.

 

대부분 설명대로 추가하면 되었고, 6번에 JDBC Request와 Connection Configuration 연결 부분 설명이 애매해보여 확인해본 결과, 아래와 같이 pool의 이름을 넣어주고, 해당 이름을 Request에 넣어주어 해결되었다!

 

< jmeter 구성 Tree >

< JDBC Connection Configuration 에서 pool 이름 선언 >

< JDBC Request 에서 pool 이름 사용 >

< 간단히 특정 테이블의 컬럼 조회 쿼리 실행 결과 예시 >

 

반응형

댓글