public class TestYuan extends AbstractJavaSamplerClient {
private static String label = "CBCTest";
private String ip;
private String port;
private String INSTYPE;
private SampleResult sr;
public void setupTest(JavaSamplerContext arg0) {
System.out.println("setupTest");
}
public SampleResult runTest(JavaSamplerContext arg0) {
ip = arg0.getParameter("ip");
port = arg0.getParameter("port");
INSTYPE = arg0.getParameter("INSTYPE");
sr = new SampleResult();
sr.setSampleLabel(label);
try{
sr.sampleStart(); //记录程序执行时间,以及执行结果
//发送数据
String s=getInsData(INSTYPE);
System.out.println("send begin!");
sendMsg(ip,Integer.parseInt(port),s);
sr.setSuccessful(true);
System.out.println("send over!");
}catch(Throwable e){
sr.setSuccessful(false);
}finally{
sr.sampleEnd();
}
return sr;
}
private String getInsData(String instype2) throws Exception {
String retstr;
try {
retstr = redInput(instype2);
} catch (Exception e) {
System.out.println("instype:"+instype2+" file not exist!");
throw e;
}
return retstr;
}
public void teardownTest(JavaSamplerContext arg0) {
}
public Arguments getDefaultParameters() {
Arguments params = new Arguments();
params.addArgument("ip", "99.6.150.31");
params.addArgument("port", "8016");
params.addArgument("INSTYPE", "1");
return params;
}
private void sendMsg(String ip,int port,String data) throws Exception{
ClientSocket clientSocket = new ClientSocket(null, ip, port);
XmlIniPlus ini = null;
try {
ini = clientSocket.clientConnect("DCINSFRM","10041004",data/*, tmsListener*/);
} catch (Exception e) {
//支付设置为可疑 电子指令设置为失败 查支付设置为可疑
System.out.println("Exception:"+e.getMessage());
throw e;
}
System.out.println("success return!");
}
public static String redInput(String insType) throws Exception {
char data[] = new char[1024]; // 建立可容纳1024个字符的数组
FileReader fr = null;
try {
//fr = new FileReader("c:\\DCQRYBKP.xml");
fr = new FileReader("c:\\DCINSFRM_"+insType+".xml");
} catch (Exception e) {
e.printStackTrace();
throw e;
} // 建立对象fr
int num = 0;
String str = null;
try {
num = fr.read(data);
str = new String(data, 0, num); // 将字符列表转换成字符串
fr.close();
} catch (Exception e) {
e.printStackTrace();
throw e;
}
return str;
}
}
项目用mina做socket底层通信,需要做性能测试,loadrunner太难,还是jemeter小,功能全。自己实现了jemete的TCPsampler。
大致总结如下:
1.线程组:代表一定数量的并发用户,它可以用来模拟并发用户发送请求。实际的请求内容在Sampler中定义,它被线程组包含。可以在“测试计划->添加->线程组”来建立它,然后在线程组面板里有几个输入栏:线程数、Ramp-Up Period(in seconds)、循环次数,其中Ramp-Up Period(in seconds)表示在这时间内创建完所有的线程。如有8个线程,Ramp-Up = 200秒,那么线程的启动时间间隔为200/8=25秒,这样的好处是:一开始不会对服务器有太大的负载。线程组是为模拟并发负载而设计。
2、sampler
java请求:是自己写的一个sampler
3、聚合报告
Label:取样器名称
Samples:运行过程中一共发出了多少个请求,一般来说是其值=线程数*循环次数(前提:测试按计划跑完,其中没有异常结束的线程),如5个线程,每个线程循环10次,那么对应行的Samples数是:5*10=50,总体Samples是各请求Samples之和。
Average:平均响应时间
Median:响应时间中间值
90%Line:响应时间90%线
Min:最小响应时间
Max:最大响应时间
Error%:出错率(出错的Request数/所有的request数)
Throughput:吞吐量,每秒/每分钟(具体看“/”后面的单位)处理的Request数
KB/sec:每秒从服务器端接收到的数据量,相当于LoadRunner中的Throughput/Sec
【注意】关于总体值并不是各列的累加。是以所有Samples为样本的统计值,如:总体Min=min{各个Samples的Min},总体Max=max{各个Samples的Max}
分享到:
相关推荐
Jmeter Jmeter Jmeter Jmeter Jmeter Jmeter Jmeter Jmeter Jmeter Jmeter Jmeter Jmeter Jmeter Jmeter Jmeter Jmeter Jmeter Jmeter Jmeter Jmeter Jmeter
Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域
Jmeter使用流程总结, 真实项目使用后的总结,包含压测主要操作流程,参数说明,命令使用,关键步骤截图,以及相关用到的依赖包使用说明,如何分析测试结果;
使用Jmeter对DB2进行性能测试的详细过程
jmeter总结,自己写的,赚点积分而已!
jmeter压测--总结
JMeter中文手册JMeter中文手册JMeter中文手册JMeter中文手册JMeter中文手册JMeter中文手册JMeter中文手册JMeter中文手册JMeter中文手册JMeter中文手册JMeter中文手册JMeter中文手册JMeter中文手册JMeter中文手册...
├ 第10章 高级篇之Jmeter压测课程总结和架构浅析 │ └ 35、课程总结和关于系统架构,推荐学习资料.mp4 ├ 第1章 章节一JMeter压力测试课程介绍 │ │ 1、亿级流量压测系列之Jmeter4.0课程介绍和效果演示.mp4 │ └...
将 jpgc-graphs-basic-2.0.zip 解压缩后只有一个 lib 目录,该目录下有一个 ext 文件夹和一个 jmeter-plugins-cmn-jmeter-0.3.jar 包,ext 文件夹中有 jmeter-plugins-graphs-basic-2.0.jar 和 jmeter-plugins-...
本人原创,非常详细的整理,纯文本大小都27M+,干货满满,JMeter的知识面面俱到。可以当成案头工具查阅。所以要求的分数比较高,适合真正需要的你。适合对JMeter已初步掌握,想要更加全面了解的人。
该文档详细描述了jmeter和loadrunner之间的对比以及总结
压力测试工具Jmeter使用总结
利用jmeter工具里的junit,java,http方式进行性能测试
k6和jmeter区别总结分享
jmeter 本地部署二次开发环境需要的2个jar包,亲测可用 bcmail-jdk16-1.40 ,bcprov-jdk16-140
用JMeter测量性能测试您的DB2数据库
Jmeter是基于Jave的,开放源代码的测试工具 Jmeter 可以用于测试静态或者动态资源的性能(文件、 SOAP 、 Web、Perl脚本、java对象、数据库和查询、ftp服务器或者其他 的资源) Jmeter 用于模拟在服务器、网络...
Jmeter怎么录制,怎么过滤,线程组有哪些内容? jmeter可以使用第三方的录制工具(badboy)或者使用自身的软件的录制功能进行,jmeter录制原理:是通过代理http服务器抓取用户操作网站过程中的链接。 jmeter可以在...
Apache jmeter jmeter-plugins-cmn-jmeter-0.6.jar 下载