`

jmeter mina2总结

阅读更多
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使用个人总结 #### 一、Apache JMeter简介 Apache JMeter是一款开源的压力测试工具,由Apache组织开发和维护。它主要基于Java语言编写,可以用来对各种应用程序(尤其是Web应用)进行性能和功能测试。...

    jmeter总结

    jmeter总结 jmeter是一个功能强大且广泛应用的性能测试工具,本总结将从基本概念到高级功能对jmeter进行详细的介绍。 目录 * 第一章:jmeter概述 + 线程组:jmeter中最基本的概念,线程组是指一组独立的线程,...

    jmeter测试DB2性能

    ### jmeter测试DB2性能详解 #### 一、Apache JMeter简介 Apache JMeter是一款开源的性能测试工具,由Apache Jakarta项目开发。JMeter最初设计用于Web应用的负载测试和性能评估,但随着功能的不断完善,它现已支持...

    Jmeter Jmeter Jmeter Jmeter Jmeter

    ### 关于JMeter的知识点详解 #### 一、概述 JMeter是一款100%纯Java桌面应用程序,专为测试CS架构(客户端/服务器)的软件而设计。它不仅可以用于测试静态和动态资源(如静态文件、Java Servlets、CGI脚本、Java...

    Jmeter使用流程总结

    ### Jmeter使用流程总结 #### 一、压测简介 ##### 1.1 压测目的 压力测试的主要目标是评估系统在高负载条件下的性能表现,这有助于确定系统的极限容量并识别潜在的瓶颈。具体来说,压力测试通常有两个核心目的: ...

    JMeter中文手册 JMeter中文手册

    JMeter中文手册JMeter中文手册JMeter中文手册JMeter中文手册JMeter中文手册JMeter中文手册JMeter中文手册JMeter中文手册JMeter中文手册JMeter中文手册JMeter中文手册JMeter中文手册JMeter中文手册JMeter中文手册...

    jmeter测试总结

    jmeter测试总结 JMeter 是一个功能强大且功能丰富的压力测试工具,由 Apache 组织开发的开放源代码项目。它可以用于测试静态或者动态资源的性能,包括文件、Servlets、Perl 脚本、Java 对象、数据库和查询、ftp ...

    jmeter压测经历--总结.pdf

    【JMeter压测经历与总结】 在进行JMeter压力测试时,我们首先需要确保API在Windows环境下能够正常工作。这包括调通所有的压测接口,确保接口能够无误地响应请求。在这个过程中,一个常见的问题就是内存管理,尤其是...

    jmeter压力测试课程入门到实战视频.rar

    ├ 第10章 高级篇之Jmeter压测课程总结和架构浅析 │ └ 35、课程总结和关于系统架构,推荐学习资料.mp4 ├ 第1章 章节一JMeter压力测试课程介绍 │ │ 1、亿级流量压测系列之Jmeter4.0课程介绍和效果演示.mp4 │ └...

    jmeter-plugins-redis2

    首先,"jmeter-plugins-redis2"是一个专为JMeter设计的插件,它的核心功能在于实现了JMeter与Redis之间的数据写入和读取。Redis作为一款高性能的键值数据库,常被用于存储临时性数据,缓存或者消息队列,因此在接口...

    jmeter-plugins-cmn-jmeter-0.3

    将 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-...

    k6和jmeter区别总结分享

    k6和JMeter区别总结分享 k6和JMeter都是性能测试领域中的重要工具,都是负载测试脚本工具,但它们之间存在着一些关键的区别。下面我们将对k6和JMeter进行总结分享,比较它们的特征、优缺点和使用场景。 一、k6和...

    jmeter开发环境需要的2个jar

    2. **bcmail-jdk16-1.40.jar**: 这个JAR文件包含了Bouncy Castle的邮件处理模块,主要用于处理与安全电子邮件相关的加密和签名功能。在JMeter的二次开发中,如果涉及到邮件服务的模拟或者测试,这个库可能被用到,...

    Jmeter知识整理(XMIND版)

    本人原创,非常详细的整理,纯文本大小都27M+,干货满满,JMeter的知识面面俱到。可以当成案头工具查阅。所以要求的分数比较高,适合真正需要的你。适合对JMeter已初步掌握,想要更加全面了解的人。

    jmeter5.6.3压测工具 jmeter压测工具 jmeter压测工具

    2. **采样器**: - HTTP请求采样器:用于模拟用户对HTTP服务的请求,支持GET、POST等多种HTTP方法。 - JDBC请求采样器:用于执行SQL查询或数据库操作,测试数据库性能。 - JMX操作采样器:可以调用MBean服务进行...

    jmeter学习视频2

    《JMeter学习视频2》的内容涵盖了JMeter工具的多个核心功能和高级用法,旨在帮助用户深入理解和熟练掌握这款强大的性能测试工具。JMeter是Apache软件基金会开发的开源项目,主要用于对Web应用进行压力和负载测试,以...

    Jmeter使用总结

    【Jmeter 使用总结】 Apache JMeter 是一个广泛使用的开源性能测试工具,主要针对Web应用程序进行压力和负载测试。本文将详细介绍Jmeter的基本配置、组成部分、语言选择、相关选项以及核心组件,帮助用户理解和掌握...

Global site tag (gtag.js) - Google Analytics