JMeter这个东西就不多介绍了
需要导入ApacheJMeter_core.jar和ApacheJMeter_java.jar,都在JMeter的lib\ext中可以找到
以下是针对ActiveMQ的一个发送测试
public class MQTest extends AbstractJavaSamplerClient { private Session session; private MessageProducer producer; private Topic topic; private Connection connection; private String str = "[{'flag':'1','value':'8854c92e92404b188e63c4031db0eac9','label':'交换机(虚机)'},{'flag':'1','value':'3f367296c2174b7981342dc6fcb39d64','label':'防火墙'},{'flag':'1','value':'8a3e05eeedf54f8cbed37c6fb38c6385','label':'负载均衡'},{'flag':'1','value':'4f0ebc601dfc40ed854e08953f0cdce8','label':'其他设备'},{'flag':'1','value':'6','label':'路由器'},{'flag':'1','value':'4','label':'交换机'},{'flag':'1','value':'b216ca1af7ec49e6965bac19aadf66da','label':'服务器'},{'flag':'1','value':'7','label':'安全设备'},{'flag':'1','value':'cd8b768a300a4ce4811f5deff91ef700','label':'DWDM\\SDH'},{'flag':'1','value':'5','label':'防火墙(模块)'},{'flag':'1','value':'01748963956649e589a11c644d6c09b5','label':'机箱'}]"; @Override public SampleResult runTest(JavaSamplerContext arg0) { System.out.println("runTest>>"); SampleResult sr = new SampleResult(); try { sr.sampleStart(); TextMessage message = session.createTextMessage(); message.setText(str); producer.send(message); System.out.println("runTest==============="); sr.sampleEnd(); sr.setSuccessful(true); sr.setSampleLabel("ActiveMQ"); } catch (Throwable e) { sr.setSamplerData("Failure:"+e.getMessage()); e.printStackTrace(); sr.setSuccessful(false); System.out.println(e.getMessage()); } return sr; } @Override public void setupTest(JavaSamplerContext context) { System.out.println("setupTest>>"); try { ActiveMQConnectionFactory factory = new ActiveMQConnectionFactory("tcp://localhost:61616"); connection = factory.createConnection(); connection.start(); session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); topic = session.createTopic("java.activemq.tps"); producer = session.createProducer(topic); producer.setDeliveryMode(DeliveryMode.NON_PERSISTENT); } catch (Exception e) { System.out.println("setupTest :" +" \t" +e.getMessage()); e.printStackTrace(); } } @Override public void teardownTest(JavaSamplerContext context) { System.out.println("teardownTest>>"); try { connection.close(); } catch (JMSException e) { System.out.println("teardownTest :" +" \t" +e.getMessage()); e.printStackTrace(); } } }
将代码导出到Jar,注意需要将依赖的Jar一起放到JMeter\lib\ext\下边,然后启动JMeter,剩下的就简单啦;
ActiveMQ控制台:
JMeter结果: