构建一个JMS点到点的测试计划
现在,让我们写一个JMeter测试计划,测试JMS点到点对点消息传递解决方案。测试设置1个线程组及1个线程或用户发送2条消息通过请求队列。
首先,让我们启动JMeter /home/manisha/apache-jmeter-2.9/bin/jmeter.sh.
添加用户
现在,创建一个线程组,右键点击 Test Plan > Add> Threads(Users)> Thread Group. 根据测试计划节点将添加线程组。命名此主题组为 JMSTestPlan-PointtoPoint.
我们将改变循环次数为2。其余的线程组的默认属性将被保留。这意味着,一个线程或用户发送一个线程组各2条消息通过请求队列。
加入JMS的点到点取样
现在,我们已经定义了我们的用户,它是时间来定义,他们将要执行的任务。开始采样JMS点到点,点到点元素加入 (Add > Sampler > JMS Point-to-Point). 然后,选择JMS树中的点到点取样元素。以下属性进行更改的JMS点到点取样元素:
属性 | 值 | 描述 |
---|---|---|
QueueuConnectionFactory | ConnectionFactory | 这是默认JNDI条目内ActiveMQ连接工厂。 |
JNDI Name Request Queue | Q.REQ | JMeter JNDI名称使连接工厂和队列之间的连接。 |
JNDI Name Receive Queue | Q.REQ | JMeter JNDI名称使连接工厂和队列之间的连接。我们都使用相同的响应队列。 |
Communication Style | Request Response | 这意味着至少需要服务运行JMeter外,将响应请求。此服务必须侦听请求队列,并发送消息引用的队列由message.getJMSReplyTo() |
Use Request message ID | checked | 可以留下JMeter的使用消息ID请求传入的消息并回收之间的相关性(押金)。 |
Use Response message ID | checked | 可以留下使用JMeter的消息标识符响应(恢复)传入的消息和恢复之间的相关性。 |
Time(milliseconds) | 2000 | 使用此超时的消息时,如果没有收到JMeter的恢复时间(这里2秒),那么该项目将被标记错误。 |
Content | Testing point to point | 这仅仅是该消息的内容。 |
InitialContextFactory |
org.apache.activemq.jndi .ActiveMQInitialContextFactory |
Active MQ标准InitialContextFactory |
queue.Q.REQ | example.A | 之间的对应关系的队列JNDI名称(Q.REQ)的队列中的ActiveMQ(example.A)真实姓名。 |
Provider URL | tcp://localhost:61616 | ActiveMQ地址和端口。 |
下面的屏幕截图显示,上述配置:
CREATE LISTENER
Now add the Listener element. This element is responsible for storing all of the results of your JMS requests in a file and presenting a visual model of the data.
Select the Thread Group element and add a View Results Tree listener (Add > Listener > View Results Tree).
SAVE AND EXECUTE TEST PLAN
Now save the above test plan as jmsptp_test.jmx. Execute this test plan using Run > Start option.
VERIFY OUTPUT
Return to the admin console of ActiveMQ, from this we can see message status in the queue.