6. 데이터베이스 테스트 계획 수립

이 섹션에서는 데이터베이스 서버를 테스트하기 위한 기본 테스트 계획 을 만드는 방법을 배웁니다 . 데이터베이스 서버에 2개의 SQL 요청을 보내는 50명의 사용자를 생성합니다. 또한 사용자에게 테스트를 100번 실행하도록 지시합니다. 따라서 총 요청 수는 (50명의 사용자) x (2개의 요청) x (100번 반복) = 10,000 JDBC 요청입니다. 테스트 계획을 구성하려면 스레드 그룹 , JDBC 요청 , 요약 보고서 요소를 사용합니다 .

이 예에서는 MySQL 데이터베이스 드라이버를 사용합니다. 이 드라이버를 사용하려면 포함된 .jar 파일(예: mysql-connector-java-XXX-bin.jar )을 JMeter ./lib 디렉토리 에 복사해야 합니다 (자세한 내용은 JMeter의 클래스 경로 참조).

6.1 사용자 추가

모든 JMeter 테스트 계획에서 수행하려는 첫 번째 단계는 스레드 그룹 요소를 추가하는 것입니다. 스레드 그룹은 시뮬레이션하려는 사용자 수, 사용자가 요청을 보내야 하는 빈도 및 보내야 하는 요청 수를 JMeter에 알려줍니다.

먼저 테스트 계획을 선택하여 ThreadGroup 요소를 추가하고 마우스 오른쪽 버튼을 클릭하여 추가 메뉴를 가져온 다음 추가  →  ThreadGroup 을 선택 합니다.

이제 테스트 계획 아래에 스레드 그룹 요소가 표시되어야 합니다. 요소가 표시되지 않으면 테스트 계획 요소를 클릭하여 테스트 계획 트리 를 확장 합니다.

다음으로 기본 속성을 수정해야 합니다. 아직 선택하지 않은 경우 트리에서 스레드 그룹 요소를 선택합니다. 이제 JMeter 창의 오른쪽 섹션에 스레드 그룹 제어판이 표시되어야 합니다(아래 그림 6.1 참조).


그림 6.1.  기본값이 있는 스레드 그룹
그림 6.1. 기본값이 있는 스레드 그룹

스레드 그룹에 대해 보다 설명적인 이름을 제공하여 시작합니다. 이름 필드에 JDBC 사용자 를 입력하십시오 .

유효한 데이터베이스, 데이터베이스 테이블 및 해당 테이블에 대한 사용자 수준 액세스가 필요합니다. 여기에 표시된 예에서 데이터베이스는 ' cloud '이고 테이블 이름은 ' vm_instance '입니다.

다음으로 사용자 수를 50명 으로 늘 립니다.

다음 필드인 램프업 기간에서 값을 10 초로 둡니다. 이 속성은 JMeter에 각 사용자 시작 사이의 지연 시간을 알려줍니다. 예를 들어, 램프업 기간을 10초로 입력하면 JMeter는 10초가 끝날 때까지 모든 사용자의 시작을 완료합니다. 따라서 50명의 사용자와 10초의 램프업 기간이 있는 경우 시작 사용자 간의 지연은 200밀리초(10초/50명의 사용자 = 사용자당 0.2초)가 됩니다. 값을 0으로 설정하면 JMeter는 즉시 모든 사용자를 시작합니다.

마지막으로 루프 수 필드에 값 100 을 입력합니다. 이 속성은 JMeter에 테스트를 반복할 횟수를 알려줍니다. JMeter가 테스트 계획을 반복적으로 실행하도록 하려면 Forever 확인란을 선택합니다.

대부분의 응용 프로그램에서는 제어판에서 변경한 내용을 수동으로 수락해야 합니다. 그러나 JMeter에서 제어판은 변경 사항을 적용할 때 자동으로 변경 사항을 수락합니다. 요소의 이름을 변경하면 제어판을 떠난 후 트리가 새 텍스트로 업데이트됩니다(예: 다른 트리 요소 선택 시).

완성된 JDBC 사용자 스레드 그룹은 그림 6.2를 참조하십시오.


그림 6.2.  JDBC 사용자 스레드 그룹
그림 6.2. JDBC 사용자 스레드 그룹

6.2 JDBC 요청 추가

이제 사용자를 정의했으므로 사용자가 수행할 작업을 정의할 차례입니다. 이 섹션에서는 수행할 JDBC 요청을 지정합니다.

JDBC 사용자 요소 를 선택하여 시작하십시오 . 마우스 오른쪽 버튼을 클릭하여 추가 메뉴 가 나타나면 추가  →  구성 요소  →  JDBC 연결 구성 을 선택 합니다. 그런 다음 이 새 요소를 선택하여 해당 제어판을 봅니다(그림 6.3 참조).

다음 필드를 설정합니다(여기서는 ' cloud '라는 MySQL 데이터베이스를 사용한다고 가정).

  • 풀에 바인딩된 변수 이름(여기서는 myDatabase )입니다. 구성을 고유하게 식별해야 합니다. JDBC 샘플러에서 사용할 구성을 식별하는 데 사용됩니다.
  • 데이터베이스 URL: jdbc:mysql://ipOfTheServer:3306/cloud
  • JDBC 드라이버 클래스: com.mysql.jdbc.Driver
  • 사용자 이름: 데이터베이스의 사용자 이름
  • 비밀번호: 사용자 이름의 비밀번호

화면의 다른 필드는 기본값으로 둘 수 있습니다.

JMeter는 제어판에 지정된 구성 설정으로 데이터베이스 연결 풀을 생성합니다. 풀은 ' 변수 이름 ' 필드의 JDBC 요청에서 참조됩니다. 여러 다른 JDBC 구성 요소를 사용할 수 있지만 고유한 이름을 가져야 합니다. 모든 JDBC 요청은 JDBC 구성 풀을 참조해야 합니다. 둘 이상의 JDBC 요청이 동일한 풀을 참조할 수 있습니다.


그림 6.3.  JDBC 구성
그림 6.3. JDBC 구성

JDBC 사용자 요소를 다시 선택합니다. 마우스 오른쪽 버튼을 클릭하여 추가 메뉴 가 나타나면 추가  →  샘플러  →  JDBC 요청 을 선택 합니다. 그런 다음 이 새 요소를 선택하여 해당 제어판을 봅니다(그림 6.4 참조).


그림 6.4.  JDBC 요청
그림 6.4. JDBC 요청

테스트 계획에서 두 개의 JDBC 요청을 만들 것입니다. 첫 번째는 모든 '실행 중인' VM 인스턴스를 선택하는 것이고 두 번째는 '삭제' VM 인스턴스를 선택하는 것입니다(분명히 이를 특정 데이터베이스에 적합한 예제로 변경해야 함). 아래에 설명되어 있습니다.

JMeter는 트리에 추가한 순서대로 요청을 보냅니다.

다음 속성을 편집하여 시작합니다(그림 6.5 참조).

  • 이름을 ' VM Running '으로 변경합니다.
  • 풀 이름 입력: ' myDatabase '(구성 요소와 동일)
  • SQL 쿼리 문자열 필드를 입력합니다.
  • 매개변수 값 필드에 ' Running ' 값을 입력합니다.
  • ' VARCHAR ' 로 매개변수 유형을 입력하십시오 .


그림 6.5.  첫 번째 SQL 요청에 대한 JDBC 요청
그림 6.5. 첫 번째 SQL 요청에 대한 JDBC 요청

다음으로 두 번째 JDBC 요청을 추가하고 다음 속성을 편집합니다(그림 6.6 참조).

  • 이름을 ' VM Expunging '으로 변경합니다.
  • 매개변수 값의 값을 ' 말소 '로 변경하십시오.


그림 6.6.  두 번째 요청에 대한 JDBC 요청
그림 6.6. 두 번째 요청에 대한 JDBC 요청

6.3 테스트 결과 보기/저장을 위한 리스너 추가

테스트 계획에 추가해야 하는 마지막 요소는 Listener 입니다. 이 요소는 JDBC 요청의 모든 결과를 파일에 저장하고 결과를 표시하는 역할을 합니다.

JDBC 사용자 요소를 선택하고 요약 보고서 리스너를 추가하십시오( 추가  →  리스너  →  요약 보고서 ).

테스트 계획을 저장하고 실행  →  시작 또는 Ctrl  +  R 메뉴로 테스트를 실행합니다.

리스너는 결과를 보여줍니다.


그림 6.7.  그래프 결과 리스너
그림 6.7. 그래프 결과 리스너
Go to top