• JMeter JMS测试计划


    在本节中,我们将学习如何编写一个简单的测试计划来测试Java Messaging Service(JMS)。

    出于测试目的,我们使用Apache ActiveMQ。有各种JMS服务器,如:glassfish3,IBM WebSphere MQ(以前称为MQSeries),Tibco等。

    在继续本节之前,请按照以下简单步骤在系统上安装Apache ActiveMQ。

    • 从以下链接下载最新版本的Apache ActiveMQ:
      http://activemq.apache.org/download.html
    • 将存档解压缩到一个方便的目录中。 在例子中,下载目录是“D:/apache-activemq-5.15.3”
    • 从命令控制台运行以下命令以启动ActiveMQ服务器:activemq start

    可以通过访问地址的管理界面来验证ActiveMQ服务器是否已启动 - http:// localhost:8161/admin/

    此地址会将您重定向到其身份验证页面,其中需要用户名和密码。 输入用户名和密码为:admin

    下图显示了ActiveMQ服务器的默认界面。

    现在,将activemq-all-5.15.3.jar文件从ActiveMQ解压缩目录复制到C:\JMeter\apache-jmeter-4.0\lib文件夹。

    我们知道JMS支持两种类型的消息传递 -

    • 点对点消息传递
    • 主题消息或发布/订阅消息

    因此,在接下来的章节,我们首先编写一个JMeter测试计划来测试JMS点对点消息传递解决方案。

    创建JMeter测试计划

    • 进入到JMeter/bin文件夹,双击jmeter.bat文件以启动JMeter界面。
    • 单击“Test Plan”节点。
    • 将此测试计划节点重命名为JMSpoint_to_point
    • 选择JMSpoint_to_point节点,然后右键单击所选项。
    • 鼠标悬停在“add”选项上,然后将显示元素列表。
    • 选择“Threads (Users) > Thread Group”
    • 将此线程组元素重命名为JMS User
    • 将循环计数( loop count )更改为2。
    • 其余的默认属性保持不变。

    添加JMS点对点采样器

    • 选择JMS用户元素(线程组),然后右键单击所选项。
    • 鼠标悬停在“Add”选项上,然后将显示元素列表。
    • 选择Sampler> JMS Point-to-point

    在JMS Point-to-point sampler元素中设置以下字段:

    • QueueuConnectionFactory - ConnectionFactory(活动MQ中连接工厂的缺省JNDI条目)
    • JNDI名称请求队列 - Q.REQ(JMeter的JNDI名称,用于建立连接工厂和队列之间的连接)
    • JNDI名称接收队列 - Q.REQ(同样的JNDI名称也用于响应)
    • 通信方式 - request_reply
    • 使用请求消息ID - 已选中
    • 使用响应消息ID - 已选中
    • 时间(毫秒) - 2000(如果没有及时恢复,则JMeter收到消息时会使用超时,然后该项被标记为错误)
    • 内容 - 点对点测试
    • InitialContextFactory - org.apache.activemq.jndi.ActiveMQInitialContextFactory(Active MQ的标准InitialContextFactory)
    • JNDI属性 - 名称:queue.Q.REQ,值:example.A
    • 提供者URL - tcp://localhost:61616(攻击ActiveMQ的地址和端口)

    添加监听器

    • 选择JMS user 元素。
    • 鼠标悬停在“Add”选项上,然后将显示元素列表。
    • 选择Listener -> View Results Tree选项。

    保存并执行测试计划

    • 单击File > Save Test Plan as
    • 将整个测试计划保存为JMS Point-to-Point.jmx
    • 单击Run > Start以执行测试计划。

    验证输出

    可以在侦听器中看到以下输出。

    可以在ActiveMQ管理控制台中看到队列中的消息状态选项。

    现在编写一个JMeter测试计划来测试JMS提供程序。 对于此测试,我们必须创建一个订阅者和一个发布者。

    创建JMeter测试计划

    • 进入到JMeter/bin文件夹,双击jmeter.bat文件以启动JMeter界面。
    • 单击“Test Plan”节点。
    • 将此测试计划节点重命名为JMS_topic_test
    • 选择JMS_topic_test 节点,然后右键单击所选项。
    • 鼠标悬停在“Add”选项上,然后将显示元素列表。
    • 选择”Threads (Users) > Thread Group”
    • 将此Thread Group元素重命名为JMS pub-sub user
    • 将循环计数(loop count)更改为2
    • 其余的默认属性保持不变。

    添加JMS订阅服务器和发布服务器

    • 选择JMS pub-sub user元素(线程组),然后右键单击所选项。
    • 鼠标悬停在“Add”选项上,然后将显示元素列表。
    • 选择Sampler -> JMS Publisher

    在JMS Publisher sampler元素中设置以下字段:

    • 名称 - Sample Publisher
    • jndi.properties文件 - 未选中(JMeter使用“JNDI初始上下文工厂”和“提供者URL”字段来创建连接)
    • 初始上下文工厂 - org.apache.activemq.jndi.Active MQ初始上下文工厂
    • 提供者URL - tcp://localhost:61616
    • 连接工厂 - 连接工厂
    • 目的地 - 动态主题/我的静态主题1
    • 要聚合的样本数 - 2(要聚合的样本数)
    • 消息来源 - Textarea
    • 消息类型 - 文本(用于文本或对象消息的消息)
    • 剩余的属性保持不变。

    现在将添加一个订阅者。

    • 选择JMS pub-sub user元素(线程组),然后右键单击所选项。
    • 鼠标悬停在“Add”选项上,然后将显示元素列表。
    • 选择Sampler -> JMS Subscriber

    在JMS Subscriber sampler元素中设置以下字段:

    • 名称 - Sample Subscriber
    • jndi.properties文件 - 未选中(JMeter使用“JNDI初始上下文工厂”和“提供者URL”字段来创建连接)
    • 初始上下文工厂 - org.apache.activemq.jndi.Active MQ初始上下文工厂
    • 提供者URL - tcp://localhost:61616
    • 连接工厂 - 连接工厂
    • 目的地 - 动态主题/我的静态主题1
    • 要聚合的样本数 - 2(要聚合的样本数)
    • 存储响应 - 打勾(采样器应读取响应。如果不是,则仅返回响应长度。)
    • 超时 - 2000
    • 剩余的属性保持不变。

    添加监听器

    • 选择JMS pub-sub user元素。
    • 鼠标悬停在“Add”选项上,然后将显示元素列表。
    • 选择Listener> View Results Tree选项。

    保存并执行测试计划

    • 单击File > Save Test Plan as
    • 将整个测试计划保存为JMS_topic_test.jmx 。
    • 单击Run > Start以执行测试计划。

    验证输出

    发布者输出:

    订阅者输出:

    可以在ActiveMQ管理控制台的主题选项中查看消息状态。

  • 相关阅读:
    HDU 6071
    HDU 6073
    HDU 2124 Repair the Wall(贪心)
    HDU 2037 今年暑假不AC(贪心)
    HDU 1257 最少拦截系统(贪心)
    HDU 1789 Doing Homework again(贪心)
    HDU 1009 FatMouse' Trade(贪心)
    HDU 2216 Game III(BFS)
    HDU 1509 Windows Message Queue(队列)
    HDU 1081 To The Max(动态规划)
  • 原文地址:https://www.cnblogs.com/pingxin/p/p00069.html
Copyright © 2020-2023  润新知