发表于: 2018-01-26 13:26:52
2 647
今天完成的事情:
今天搞压测jsp,先说一下Jmeter使用教程:
首先新建线程组,右键—>添加->Threads->线程组
进入线程组设置
线程数*循环次数相当于访问量,一般控制在200-500之间(我们自己测试的时候,如果是大的项目测试则是根据需求),而Ramp-up Period设置的是在多少秒内启动你的线程数,如1秒内启动20个线程
然后,设置http请求(因为我测试的是jsp页面,如果测试其他,也有相关的请求测试等等)
这里右键线程组,在它的下面建立相关请求,添加->配置元件->http请求默认值
进行相关配置,都有中文,应该看得懂
接下来配置,右键线程组->Sampler->HTTP请求
进行相关配置,因为我们在前面默认值进行了配置,所以这里可配可不配,然后方法请求有GET,POST等,下面可以添加相应参数
最后配置监听器,作为观察,这里配置一个Summary Report,一个查看结果树,以及上面没有见到的Aggregate Graph
最后全部配置完成大概长这样
接下来讲解一下各个监听器的各个参数都是用来干什么的,介绍两个——Summary Report,Aggregate Graph
首先是Summary Report
可以看到一个表格,这里各个参数的意思分别是:
#Samples 请求总数,即线程数*循环数
Average 平均请求时间,单位毫秒
Min 最小请求时间
Max 最大请求时间
Std.Dev. 方均差,(响应时间的标准方差),如果该值很大,那么Min和Max的参考意义不大
Error % 错误率
Throughput 吞吐量(每秒请求数)。可以简单的理解为,该值越大,性能越好。
Throughput = (number of requests) / (total time)
total time = 测试结束时间 - 测试开始时间
测试结束时间 = MAX(请求开始时间 + Elapsed Time)
测试开始时间 = MIN(请求开始时间)
接下来就是压测我的jsp页面:
下面是600次循环的:
下面是700次循环的
下面是700次循环的TPS视图:
然后是1200次循环的:
可以看到访问量的增长,吞吐量在不断的下降。而且最大请求时间一直在上涨。我读程序挂掉的定义就是所有请求不能超过5s,在700次的时候已经超过了,但是这个东西毕竟不稳定。最大请求时间不能作为一个硬性标尺,所以我觉得应该是99%不超过5s,但是在测试的过程中随着访问量的上涨99%的请求时间却上涨的比较慢。
可以看到随后的压测中的最大时间反而比上面的小,所以最大时间不具备说服力:
接下来是60000次的数据:
TPS也很稳定:
于是改变策略,改变线程数:从30改到50:循环1000次:
也是非常的稳定,但是数据卡在了这个地方。。。不知道是不是程序挂掉了,而99%的时间仍然没到5s。。。
很崩溃,难道这么禁搞吗?
再修改到线程数80,循环1000:
程序又卡了。。。估计也就这样了
不过过了一会儿好了:
但是出现了error!!!!!!可以认为程序挂了!最起码挂过。。
所以极限就是80线程,64000-68000请求量。
TPS图:
终于给这老小子干废了。。
接下来试着用了事务管理,不过并没有感觉到有什么不同:
通常进行性能测试时,我们一般仅考虑主要的数据返回,不考虑页面渲染所需要的数据(例如:css、js、图片等)。但当我们需要衡量打开一个页面(页面渲染完成)的性能时,我们就需要考虑完成页面渲染所需要的图片、css、js等资源文件,因为这些数据的传输等也会消耗系统、网络等资源。因而测试页面的性能,尤其是含有大图片、大文件等,就必须要考虑这些资源的性能消耗。
于是在使用了之后的数据:使用事务管理请求的是带有图片等资源的页面
推测是因为并发太多,压力过大,出现了错误
而且TPS骤降:
可见加载图片等资源压力比较大。
于是修改并发数:
可以看到没有了错误的出现,推测正确。而且观察时间和吞吐量也能发现加载首页很慢。
下面是20线程循环1000次的图:
卡住了,可能还是有点吃力吧
TPS图:
很清晰。。于是就到这里
2.开始接触Memcache,看到还有json。。于是补一波json的知识。
json是什么:JavaScript Object Notation JavaScript对象表示法,是一种存储数据的方式。
<script>
var xi = {"name":"哈","do":"呵"};
document.write(xi+"<br/>");
document.write(xi.name+"<br/>");
</script>
存取都在这里了。
看到后面的任务用到两个web,于是又在服务器安装了一个tomcat,按照这个教程配置了
https://www.cnblogs.com/shihaiming/p/5896283.html
然后配置了负载均衡,最终查看nginx日志发现配置成功。
然后正式开始搞Memcache,先是下载了这个东西,链接:
http://www.runoob.com/memcached/window-install-memcached.html里面也有安装教程。
然后是弄telent:https://jingyan.baidu.com/article/ae97a646b22fb6bbfd461d19.html
这个telnet真的是问题重重啊...死活连接不上11211端口
评论