jmeter用于压力测试

首先我们要区别压力和攻击,当设立了不适当的线程数量和准备时长,就容易造成攻击。

线程数:虚拟用户数。一个虚拟用户占用一个进程或线程。设置多少虚拟用户数在这里也就是设置多少个线程数。

准备时长: 设置的虚拟用户数需要多长时间全部启动。如果线程数为20 ,准备时长为10 ,那么需要10秒钟启动20个线程。也就是每秒钟启动2个线程。

循环次数:每个线程发送请求的次数。如果线程数为20 ,循环次数为100 ,那么每个线程发送100次请求。总请求数为20*100=2000 。如果勾选了“永远”,那么所有线程会一直发送请求,一到选择停止运行脚本。

  设置合理的线程数对于能否达到测试目标有决定性的影响。在本例中,要求得到网站首页在20 QPS 负载情况下的响应时间,如果如果线程数量设置的过小,则很可能无法达到设定的QPS要求。另外,设置合理的循环次数也很重要,除了上面介绍的固定循环次数与永远外;也可以灵活的选择设定测试运行时间。勾选“调度器”,进行调度器配置。

步骤:

1、建立线程组

2、建立http-cookie管理session

3、创建http请求

4、添加“查看结果树”

图形结果 
下面解释下图形结果下方的各个参数: 
样本数目:总共发送到服务器的请求数。 
最新样本:代表时间的数字,是服务器响应最后一个请求的时间。 
吞吐量:服务器每分钟处理的请求数。  
平均值:总运行时间除以发送到服务器的请求数。  
中间值:代表时间的数字,有一半的服务器响应时间低于该值而另一半高于该值。

偏离:表示服务器响应时间变化、离散程度测量值的大小,或者,换句话说,就是数据的分布。

聚合报告
图表含义说明如下:
Label:说明是请求类型,如Http,FTP等请求。
#Samples:也就是图形报表中的样本数目,总共发送到服务器的样本数目。
Average:也就是图形报表中的平均值,是总运行时间除以发送到服务器的请求数。
Median:也就是图形报表中的中间值,是代表时间的数字,有一半的服务器响应时间低于该值而另一半高于该值。
90%line:是指90%请求的响应时间比所得数值还要小。
Min:是代表时间的数字,是服务器响应的最短时间。
Max: 是代表时间的数字,是服务器响应的最长时间。
Error%:请求的错误百分比。
Throughput:也就是图形报表中的吞吐量,这里是服务器每单位时间处理的请求数,注意查看是秒或是分钟。
KB/sec:是每秒钟请求的字节数。

实例:

1、publisher登陆接口"/isli/uasc/account/v1/openapi/unification/account/2/signin";
 
分析:对比C:\Users\new0514a\Desktop\j\登陆1秒1000个请求和C:\Users\new0514a\Desktop\j\登陆1000秒1000个请求
发现登陆1秒1000个请求中服务器拒绝链接的响应占0.638,查看publisher的日志可以接到uasc响应的有362个,说明publisher的服务器由于硬件或者程序的问题导致tcp链接没有建立起来
 
    <Connector port="" protocol="org.apache.coyote.http11.Http11Protocol"
connectionTimeout="" SSLEnabled="true"
maxThreads="" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" keystoreFile="configuration/keyStore/server.keystore" keystorePass=""/>
分析publisher的tomcat,允许最大线程是150,所以并发1000是不可能的事情。

需要具备的知识:

1http请求头详解:http://kb.cnblogs.com/page/92320/

2cookie和session区别详解:

3http://www.xxdafa.com/article?id=57b33ba7b8063f1a058b457a

jmeter的使用---压力测试的更多相关文章

  1. 使用Jmeter至WebService压力测试

    使用Jmeter至WebService压力测试   目中我们使用了Jmeter对webservice进行了压力測试,Apache JMeter是Apache组织开发的基于Java的压力測试工具.用于对 ...

  2. jmeter简单得压力测试

    Jmeter教程 简单的压力测试 Jmeter是一个非常好用的压力测试工具.  Jmeter用来做轻量级的压力测试,非常合适,只需要十几分钟,就能把压力测试需要的脚本写好. 阅读目录 什么是压力测试 ...

  3. JMeter接口测试和压力测试

    JMeter接口测试和压力测试 JMeter可以做接口测试和压力测试.其中接口测试的简单操作包括做http脚本(发get/post请求.加cookie.加header.加权限认证.上传文件).做web ...

  4. (转)使用JMeter进行Web压力测试

    使用JMeter进行压力测试 说到压力测试,一般第一反应都是LoadRunner.这个软件也确实是自动化测试的一个事实标准.无奈这个软件太过庞大,以及不能在MacOS上使用.我由于项目的需要,需要对一 ...

  5. Jmeter入门(压力测试)

    Jmeter介绍 Jmeter是一款使用Java开发的,开源免费的,测试工具, 主要用来做功能测试和性能测试(压力测试/负载测试). 而且用Jmeter 来测试 Restful API, 非常好用. ...

  6. Jmeter性能测试-分布式压力测试

    作为一个测试行业的菜鸟,由于投身于一个小公司,包揽所有的测试.刚开始的功能测试到接口测试,稳定性测试,兼容性测试等,一般由于是小项目所以对于性能有所忽略,也没怎么涉及,公司接了个大项目,后期对于性能上 ...

  7. Jmeter使用指南----压力测试工具

    来源: https://blog.csdn.net/u012111923/article/details/80705141 https://www.cnblogs.com/st-leslie/p/51 ...

  8. 【转】Jmeter做web压力测试时设置持续时间注意点

    头一回使用jmeter做web的压力测试,遇到个很莫名其妙的问题,不管我的线程组怎么设置,它就是执行一次就结束了. 设置循环次数为300,不使用调度器--〉执行一次就结束了,循环次数未生效 设置循环次 ...

  9. JMeter进入接口压力测试

    关键字: Jmeter.单接口.压力测试.插件监听.服务器端 摘要: 使用Jmeter对单个接口进行压力测试:监听并发量对接口响应时间.服务器资源占量.Jmeter本身只能获取到Tomcat的状态,所 ...

  10. jmeter APP接口压力测试

    第一步:获取开发文档,了解接口地址和参数名 第二步:jmeter中添加需要测试的接口 a.设计APP的接口框架: b.http请求默认值设置如下: c.接口中应需要用到sign字段,加密字符串与时间戳 ...

随机推荐

  1. 01 : Java入门

    Java概述 Java之父·詹姆斯·高斯林(James Gosling) 1977年获得了加拿大卡尔加里大学计算机科学学士学位,1983年获得了美国卡内基梅隆大学计算机科学博士学位,毕业后到IBM工作 ...

  2. git merge代码

    把主干合并进分支 git checkout branch git merge origin/master [一开始我使用的是git merge master,提交代码后发现主干和分支还是有差异,如果不 ...

  3. AcWing 892. 台阶-Nim游戏

    #include<iostream> using namespace std; int n; int main() { cin>>n; ; ; i<=n; i++) { ...

  4. js中迭代方法

    基础遍历数组:            for()            for( in )             for(var i = 0;i<arr.length;i++){       ...

  5. 【PAT甲级】1117 Eddington Number (25分)

    题意: 输入一个正整数N(<=100000),接着输入N个非负整数.输出最大的整数E使得有至少E个整数大于E. AAAAAccepted code: #define HAVE_STRUCT_TI ...

  6. 【JS】网站运行时间

    <span id="sitetime"></span> <script language=javascript> function siteTi ...

  7. TD - bootsrap版本tab替换

    TD - bootsrap版本tab替换 dijit.layout.TabContainer ----> bootstrap.layout.TabContainer dijit.layout.C ...

  8. JQ 获取浏览器窗口宽高

    $(window).height(); // 浏览器时下窗口可视区域高度 $(document).height(); //浏览器时下窗口文档的高度 $(document.body).height(); ...

  9. openresty + lua

    lua语法总结: 1. 导入模块(用require来加载,模块是一个类型为table的全局变量) 导入写好的包,举例如下: 2. lua 数据类型(有8种:nil.boolean.number.str ...

  10. [MC] 我的世界 craftbukkit-1.12.2 卡爆

    昨天晚上的时候,和朋友玩我的世界 结果我这边卡爆了,牛圈里面的牛都是一动一动的... 然后我登陆服务器,发现CPU爆炸了... 100%的使用率 mstsc都卡爆了 内存占用了800多MB (服务器是 ...