10. JMS 지점간 테스트 계획 구축 ¶
이 섹션에서는 JMS 지점간 메시징 솔루션을 테스트하기 위한 테스트 계획 을 만드는 방법을 배웁니다 . 테스트 설정은 요청 대기열을 통해 각각 4개의 메시지를 보내는 5개의 스레드가 있는 1개의 스레드 그룹입니다. 고정 응답 대기열은 응답 메시지를 모니터링하는 데 사용됩니다. 테스트 계획을 구성하려면 스레드 그룹 , JMS 지점 간 및 그래프 결과 요소를 사용합니다 .
JMS에 대한 일반 참고 사항: 현재 두 개의 JMS 샘플러가 있습니다. 하나는 JMS 주제를 사용하고 다른 하나는 대기열을 사용합니다. 주제 메시지는 일반적으로 게시/구독 메시지로 알려져 있습니다. 토픽 메시징은 일반적으로 메시지가 생산자에 의해 게시되고 여러 구독자가 사용하는 경우에 사용됩니다. JMS 샘플러에는 JMS 구현 jar 파일이 필요합니다. 예를 들어 Apache ActiveMQ에서. ActiveMQ에서 제공하는 jar 목록은 여기 를 참조 하십시오.
10.1 스레드 그룹 추가 ¶
모든 JMeter 테스트 계획에서 수행하려는 첫 번째 단계는 스레드 그룹 요소를 추가하는 것입니다. 스레드 그룹은 JMeter에 시뮬레이션하려는 사용자 수, 사용자가 요청을 보내야 하는 빈도 및 보내야 하는 요청 수를 알려줍니다.
먼저 테스트 계획을 선택하여 ThreadGroup 요소를 추가하고 마우스 오른쪽 버튼을 클릭하여
메뉴를 가져온 다음 을 선택 합니다.이제 테스트 계획 아래에 스레드 그룹 요소가 표시되어야 합니다. 요소가 표시되지 않으면 테스트 계획 요소를 클릭하여 테스트 계획 트리를 "확장"하십시오.
다음으로 기본 속성을 수정해야 합니다. 아직 선택하지 않은 경우 트리에서 스레드 그룹 요소를 선택합니다. 이제 JMeter 창의 오른쪽 섹션에 스레드 그룹 제어판이 표시되어야 합니다(아래 그림 10.1 참조).
스레드 그룹에 대해 보다 설명적인 이름을 제공하여 시작합니다. 이름 필드에 Point-to-Point 를 입력 합니다.
다음으로 사용자(스레드라고 함)의 수를 5 로 늘립니다 .
다음 필드인 램프업 기간에서 값을 0초로 설정한 채로 둡니다. 이 속성은 JMeter에 각 사용자 시작 사이의 지연 시간을 알려줍니다. 예를 들어, 램프업 기간을 5초로 입력하면 JMeter는 5초가 끝날 때까지 모든 사용자의 시작을 마칩니다. 따라서 5명의 사용자와 5초의 램프업 기간이 있는 경우 시작 사용자 간의 지연은 1초가 됩니다(5명의 사용자 / 5초 = 초당 1명의 사용자). 값을 0으로 설정하면 JMeter는 즉시 모든 사용자를 시작합니다.
" 영구 " 로 표시된 확인란의 선택을 취소 하고 루프 수 필드에 값 4 를 입력합니다. 이 속성은 JMeter에 테스트를 반복할 횟수를 알려줍니다. 루프 카운트 값을 0 으로 입력하면 JMeter는 테스트를 한 번만 실행합니다. JMeter가 테스트 계획을 반복적으로 실행하도록 하려면 Forever 확인란을 선택합니다.
10.2 JMS 지점간 샘플러 추가하기 ¶
샘플러 JMS Point-to-Point 를 Point-to-Point 요소에 추가하는 것으로 시작하십시오( ). 그런 다음 트리에서 JMS 지점 간 샘플러 요소를 선택하십시오. 예제를 빌드할 때 ActiveMQ 3.0에서 작동하는 구성이 제공됩니다.
이름 | 값 | 설명 |
---|---|---|
JMS 리소스 | ||
큐연결팩토리 | 커넥션팩토리 | 이것은 ActiveMQ 내의 연결 팩토리에 대한 기본 JNDI 항목입니다. |
JNDI 이름 요청 대기열 | Q.요청 | 이것은 JNDI 속성에 정의된 JNDI 이름과 같습니다. |
JNDI 이름 응답 대기열 | Q.RPL | 이것은 JNDI 속성에 정의된 JNDI 이름과 같습니다. |
메시지 속성 | ||
커뮤니케이션 스타일 | 응답 요청 | 이것은 최소한 JMeter 외부에서 실행되는 서비스가 필요하고 요청에 응답할 것임을 의미합니다. 이 서비스는 요청 대기열을 수신하고 message.getJMSReplyTo() 에서 참조하는 대기열로 메시지를 보내야 합니다. |
콘텐츠 | 테스트 | 이것은 메시지의 내용일 뿐입니다. |
JMS 속성 | ActiveMQ에는 아무것도 필요하지 않습니다. | |
JNDI 속성 | ||
초기 컨텍스트 팩토리 | org.apache.activemq.jndi.ActiveMQInitialContextFactory | ActiveMQ용 표준 InitialContextFactory |
속성 | ||
큐.Q.REQ | 예.A | 이것은 큐 예제 를 가리키는 요청 큐에 대한 JNDI 이름 Q.REQ 를 정의합니다 .A |
큐.Q.RPL | 예.B | 이것은 큐 example.B 를 가리키는 응답 큐에 대한 JNDI 이름 Q.RPL 을 정의합니다. |
공급자 URL | ||
공급자 URL | tcp://localhost:61616 | ActiveMQ 메시징 시스템의 URL을 정의합니다. |