项目背景:公司的微信端H5界面新开发了会员注册功能,需要对其进行压力测试

项目目标:需要承受每分钟最少6000的压力

一、建立一个测试计划(test plan)

之前有说过,jmeter打开后会自动生成一个空的test plan,用户可以基于该test plan建立自己的test plan

一个性能测试的负载必须有一个线程组完成,而一个测试计划必须有至少一个线程组。添加线程组操作如下:

在测试计划处右键单击:添加→Threads(Users)→线程组

每个测试计划都必须包含至少一个线程组,当然,也可以包含多个,多个线程组的运行在jmeter中采用的是并行的方式,即:同时被初始化且同时执行其下的sampler

线程组主要包含三个参数:

线程数:虚拟用户的数量,一个线程指一个线程或者进程

Ramp—Up Period(in seconds):准备时长。设置的线程数需要多久全部启动,比如上图,线程数为6000,启动时间为60,那么需要60S内启动6000个线程

循环次数:每个线程发送请求的次数。如上图,6000个线程,每个线程发送1次,总计1000个请求;如果勾选了永远,那么它将永远发送下去,直到停止脚本

设置合理的线程数对能否达到测试目标有决定性影响。比如在本例中,如果线程数太少,则无法达到设定的要求;

另外,设置合理的循环次数也很重要,除了给定的设置循环次数和永远,还可以通过勾选调度器,设置开始和结束时间来控制。

二、添加sampler

添加完线程组后,在线程组上右键单击:添加→Sampler→SOAP/XML-RPC Request(SOAP/XML-RPC:都是报文中不同的数据格式)

前面说过,取样器(Sampler)是与服务器进行交互的单元。一个取样器通常进行三部分的工作:向服务器发送请求,记录服务器的响应数据和记录相应时间信息

这里解释一下,因为微信H5界面的会员注册,向微信端发送的是xml文件,所以这里我选择的取样器是SOAP/XML-RPC Request

上面的图中,选择SOAP/XML-RPC Request取样器,然后URL一栏输入我们需要进行加压的URL

然后默认选项,Use KeepAlive的意思是:保持连接,这个是http协议报文中的一个首部字段,之前的关于HTTP协议的随笔写过

下面的SOAP/XML-RPC Data输入需要发送的xml格式的文件就行(也可以导入xml文件的文件夹进行读取),下面我简单介绍下xml文件和一般发送请求的json报文的区别:

添加完取样器和具体的地址参数之后,接下来就是添加监听器,对测试结果进行获取

三、添加监听器

在线程组上右键单击,添加你需要的监听器,一般常用的就是结果树和聚合报告

添加后,就可以启动线程组,进行测试了,等线程执行完成后,根据结果树中的请求(携带的参数文件)和响应结果(success或者失败:java.net.ConnectException: Connection refused: connect)

就可以分析我们的测试是否成功,以及根据聚合报告结果来确认我们这次确认是否达成了预期结果

四、聚合报告简析

Aggregate Report: JMeter 常用的一个 Listener,中文被翻译为“聚合报告”

Label:每个 JMeter 的 element(例如 HTTP Request)都有一个 Name 属性,这里显示的就是 Name 属性的值

#Samples:表示你这次测试中一共发出了多少个请求,如果模拟10个用户,每个用户迭代10次,那么这里显示100

Average:平均响应时间——默认情况下是单个 Request 的平均响应时间,当使用了 Transaction Controller 时,也可以以Transaction 为单位显示平均响应时间

Median:中位数,也就是 50% 用户的响应时间

90% Line:90% 用户的响应时间

Note:关于 50% 和 90% 并发用户数的含义,请参考下文

http://www.cnblogs.com/jackei/archive/2006/11/11/557972.html

Min:最小响应时间

Max:最大响应时间

Error%:本次测试中出现错误的请求的数量/请求的总数

Throughput:吞吐量——默认情况下表示每秒完成的请求数(Request per Second),当使用了 Transaction Controller 时,也可以表示类似 LoadRunner 的 Transaction per Second 数

KB/Sec:每秒从服务器端接收到的数据量,相当于LoadRunner中的Throughput/Sec

jmeter(三)Sample之SOAP/XML-RPC Request的更多相关文章

  1. 【转载】C# HttpWebRequest 发送SOAP XML

    调用webservice的几种方法: 方法一:添加web引用(简单/方便 局限客户端是.net) 方法二:Post xml(本文重点讲述) 方法三:使用微软MSXML2组件(好像在window ser ...

  2. REST、SOA、SOAP、RPC、ICE、ESB、BPM知识汇总及理解

    转载自处blog.csdn.net/tantexian. SOA: 维基百科解释:SOA:面向服务的软件架构(Service Oriented Architecture),是一种计算机软件的设计模式, ...

  3. 【转载】谈谈自己对REST、SOA、SOAP、RPC、ICE、ESB、BPM知识汇总及理解

    转载自:https://blog.csdn.net/tantexian/article/details/48196453 SOA: 维基百科解释:SOA:面向服务的软件架构(Service Orien ...

  4. 谈谈自己对REST、SOA、SOAP、RPC、ICE、ESB、BPM知识汇总及理解(转载)

    相关参考文章: 谈谈自己对REST.SOA.SOAP.RPC.ICE.ESB.BPM知识汇总及理解 微服务SOA架构与RPC远程过程调用 SOA和微服务架构的区别 SOA: 维基百科解释:SOA:面向 ...

  5. 【ANT】运行JMeter用例的build.xml

    <?xml version="1.0" encoding="UTF-8"?> <!-- Licensed to the Apache Soft ...

  6. REST 和 SOAP、RPC 有何区别?

    第一个问题:什么是RESTful? REST这个词,是Roy Thomas Fielding在他2000年的博士论文中提出的.有兴趣可以看看这里论文`,谁是Fielding?点击前面名字了解. 那RE ...

  7. 阿里P8架构师谈:Restful、SOAP、RPC、SOA、微服务之间的区别(转载)

    转载来源:https://youzhixueyuan.com/the-difference-between-restful-soap-rpc-soa-and-micro-service.html 内容 ...

  8. Java解析Soap XML

    package com.jstrd.tipstock.webservice.jt.base; import java.io.ByteArrayInputStream; import java.util ...

  9. log4net保存到数据库系列三、代码中xml配置log4net

    园子里面有很多关于log4net保存到数据库的帖子,但是要动手操作还是比较不易,从头开始学习log4net数据库日志一.WebConfig中配置log4net 一.WebConfig中配置log4ne ...

  10. 最简单易懂的webService客户端之soap+xml请求

    代码准备: 1.网络上有提供一些免费的服务器测试地址,可以上这里找一找:https://my.oschina.net/CraneHe/blog/183471 2.我选择了一个翻译地址:http://w ...

随机推荐

  1. ABP导航源码分析

    按步骤看: 1,在Global.asax中执行: base.Application_Start(sender, e); 2,在AbpWebApplication类的Application_Start( ...

  2. Lind.DDD.Domain.IOwnerBehavor对实体的意义

    回到目录 对于Lind.DDD架构,我之前写了不少文章,对于它的Domain模式也介绍了不少,像之前的IEntity,ILogicDeleteBehavor,IModifyBehavor,IStatu ...

  3. MongoDB基础入门001--安装

    关于mongodb的好处,优点之类的这里就不说了,唯一要讲的一点就是mongodb中有三元素:数据库,集合,文档,其中"集合" 就是对应关系数据库中的"表",& ...

  4. 分享15款很实用的 Sass 和 Compass 工具

    Sass 是 CSS 的扩展,增加了嵌套规则,变量,混入功能等很多更多.它简化了组织和维护 CSS 代码的成本.Compass 是一个开源的 CSS 框架,使得使用 CSS3 和流行的设计模式比以往任 ...

  5. angular源码分析:$compile服务——指令的编写

    这一期中,我不会分析源码,只是翻译一下"https://docs.angularjs.org/api/ng/service/$compile",当然不是逐字逐句翻译,讲解指令应该如 ...

  6. html5视频播放插件

    对于HTML5提供的新特性,给前端开发者带来了巨大的激情与动力,减轻了开发者的代码累赘,大大提高了网站性能以及网页的渲染效果.对于低版本的浏览器,由于生产厂商的原因,许多PC端低版本的浏览器还不兼容H ...

  7. App Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecure. Temporary exceptions can be configured via your app's Info.plist file

    ios进行http请求,会出现这个问题: App Transport Security has blocked a cleartext HTTP (http://) resource load sin ...

  8. 推荐几个精致的web UI框架

    1.Aliceui Aliceui是支付宝的样式解决方案,是一套精选的基于 spm 生态圈的样式模块集合,是 Arale 的子集,也是一套模块化的样式命名和组织规范,是写 CSS 的更好方式. git ...

  9. 此实现不是 Windows 平台 FIPS 验证的加密算法的一部分的解决办法方案

    最近操作系统不断地报异常或错误,可能是用得太久了,而刚好工作比较多又不想重新安装系统,但用一段时间后(一天大概有两次)系统就出现各种问题导致无法继续使用真是痛苦万分啊,今天又来了这样的错误: 此实现不 ...

  10. W3School-CSS 伪类 (Pseudo-classes) 实例

    CSS 伪类 (Pseudo-classes) 实例 CSS 实例 CSS 背景实例 CSS 文本实例 CSS 字体(font)实例 CSS 边框(border)实例 CSS 外边距 (margin) ...