发表于: 2018-01-26 13:26:52

2 646


今天完成的事情:
 今天搞压测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端口


返回列表 返回列表
评论

    分享到