socket的压力测试
(1)socket测试需要写一个测试jar包。
首先创建一个java工程,导入lib\ext\ApacheJMeter_core.jar,ApacheJMeter_java.jar
然后创建下面的代码:(IP和端口可以根据自己的需要修改)
- import org.apache.jmeter.config.Arguments;
- import org.apache.jmeter.protocol.java.sampler.AbstractJavaSamplerClient;
- import org.apache.jmeter.protocol.java.sampler.JavaSamplerContext;
- import org.apache.jmeter.samplers.SampleResult;
- import java.io.BufferedReader;
- import java.io.InputStreamReader;
- import java.io.PrintWriter;
- import java.net.*;
- /**
- *
- * @author howsky
- *
- */
- public class Test extends AbstractJavaSamplerClient {
- // Sock begin----------------------------------------------
- private Socket sid;
- private PrintWriter out;
- private BufferedReader in;
- private String ip;
- private String port;
- // Sock end------------------------------------------------
- private static String label = "howsky.net";
- // 测试结果
- private SampleResult sr;
- /**
- * 初始化
- */
- public void setupTest(JavaSamplerContext arg0) {
- System.out.println("setupTest");
- }
- /**
- * 设置请求的参数
- */
- public Arguments getDefaultParameters() {
- Arguments params = new Arguments();
- params.addArgument("ip", "127.0.0.1");
- params.addArgument("port", "8888");
- return params;
- }
- /**
- * 运行过程
- */
- public SampleResult runTest(JavaSamplerContext arg0) {
- ip = arg0.getParameter("ip");
- port = arg0.getParameter("port");
- sr = new SampleResult();
- sr.setSampleLabel(label);
- try{
- sr.sampleStart(); //记录程序执行时间,以及执行结果
- //发送数据
- String msg = "welcome to howsky.net";
- System.out.println("begin");
- sendMsg(ip, Integer.parseInt(port), msg);
- sr.setSuccessful(true);
- System.out.println("end");
- }catch(Throwable e){
- sr.setSuccessful(false);
- }finally{
- sr.sampleEnd();
- }
- return sr;
- }
- /**
- * 结束
- */
- public void teardownTest(JavaSamplerContext arg0) {
- }
- /**
- * 发送消息
- * @param ip
- * @param port
- * @param msg
- * @throws Exception
- */
- private void sendMsg(String ip, int port, String msg) throws Exception{
- sid = new Socket(ip, port);
- in = new BufferedReader(new InputStreamReader(sid.getInputStream()));
- out = new PrintWriter(sid.getOutputStream(), true);
- out.println(msg);
- in.readLine();
- System.out.println("success");
- }
- }
接着点击项目右键Export->jar file->命名.jar
最后将jar包放到lib\ext\下,启动JMeter。
(2)本地写socket服务器端代码如下:
- public class SocketSer
- {
- public static void main(String[] args)
- {
- ServerSocket ss=null;
- OutputStream os=null;
- try {
- ss = new ServerSocket(8888);
- while(true){
- Socket s=ss.accept();
- String ip=s.getInetAddress().getHostName();
- os=s.getOutputStream();
- os.write("ServerSocket回复请求".getBytes());
- os.flush();
- s.close();
- System.out.println(ip+"---"+new String("^_^成功完成一次请求"));
- }
- } catch (IOException e) {
- e.printStackTrace();
- }finally{
- try {
- os.close();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- }
然后在本地启动调用该段代码(开启服务端)。
(3)JMeter中创建线程组。设置线程数,Ramp-up Period,循环次数。
(4)JMeter中创建Java请求默认值,如图:
然后选择要测试的类:如图
(5)JMeter中创建java请求:
配置基本和java请求默认值一样。
如图:
(6)创建监听:查看结果树
结果如下:
命令行输出:
备注写给自己: 2015年做的kafka生产者消费者行情改造项目test_hq 与此类似
原文:http://blog.csdn.net/a574258039/article/details/19549407
相关推荐
jmeter socket Client端,用于压测非调试,启动服务端后,将此文件放入eclipse中导出成Jar包
jmeter-压力测试报告-超细,Jmeter性能测试工具使用总结
jemeter并发scoket接口依赖jar,可根据不同场景,自行添加修改代码。不进行修改也可直接使用!~
如果想用Jmeter测试Socket的,可以下载该插件包,然后放到Jmeter的lib/ext目录下,就可以在sampler上新增socket sample了。
jmeter socket Client端,用于调试非压测,启动服务端后,将此文件放入eclipse中导出成Jar包
此jar包为jmeter 的mqtt连接服务器压力测试工具。本人使用的是MessageBufferPacker对数据加密所以没有传入参数,修改自己修改
利用apache jmeter 对一个注册模块进行压力测试的过程记录。
jmeter5压力测试工具,可设定线程数,循环次数,可传参数
jmeter压力测试报告,我是一位高级测试工程师,经过我研究改进了好多细节,完善模板提供大家使用。
Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。 它可以用于测试静态和动态资源,例如静态文件、Java 小服务程序、CGI ...
进行压力测试,分析压测结果,服务器分析; jmeter是apache公司基于java开发的一款开源压力测试工具,体积小,功能全,使用方便,是一个比较轻量级的测试工具,使用起来非常简单,资源内涵jmeter Demo文件
apache jmeter是来自国外的一款开源免费、功能强大的web压力测试工具。它是一款为负载测试功能行为和测量性能的100%纯Java应用程序,可用于测试静态和动态资源,Web动态应用程序的性能。jmeter可用于模拟服务器,...
jmeter socket测试服务端的代码,放到eclipse中后以java app方式启动即可开始调试Client
Jmeter WEB HTTP压力测试实例 最新版本2.10
Jmeter接口压力测试
├ 第1章 章节一JMeter压力测试课程介绍 │ │ 1、亿级流量压测系列之Jmeter4.0课程介绍和效果演示.mp4 │ └ 2、常用压力测试工具对比.mp4 ├ 第2章 章节二 JMeter4.x基础知识讲解和压测实战 │ │ 3、Jmeter基本...
Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试但后来扩展到其他测试领域。 它可以用于测试静态和动态资源例如静态文件、Java 小服务程序、CGI 脚本、...
Jmeter性能压力测试文档,文档中包含具体的操作步骤,对于想了解Jmeter的同学可以看一看
压力测试工具,用来测试项目可以承受的并发压力,压力测试工具,用来测试项目可以承受的并发压力
Jmeter是一款使用Java开发的,开源免费的,测试工具, 主要用来做功能测试和性能测试(压力测试/负载测试),而且用Jmeter 来测试 Restful API, 非常好用。 Jmeter运行: 解压后, 运行 “bin/jmeter.bat” ...