您的位置:首页 > 其它

什么是压测,为什么要进行压力测试?JMETER工具的使用

2018-07-24 18:41 253 查看

大家好,我是IT修真院深圳分院第11期学员,一枚正直善良的JAVA程序员。

今天给大家分享一下,修真院官网JAVA任务6中需要使用的压测

 

1.背景介绍

 性能测试、负载测试、压力测试

负载测试:负载测试是一种性能测试,指数据在超负荷环境中运行,程序是否能够承担。在一定的工作负荷下,给系统造成的负荷及系统响应的时间。

压力测试:压力测试是一种性能测试,他在系统资源特别低的情况下软件系统运行情况,目的是找到系统在哪里失效以及如何失效的地方。在一定的负荷条件下,长时间连续运行系统给系统性能造成的影响。包括:

Spike testing(尖峰冲击测试):短时间的极端负载测试

Extreme testing(极端测试):在过量用户下的负载测试

Hammer testing(锤击测试):连续执行所有能做的操作

 

举个跑步的例子进行解释

1.性能测试,表示在一个给定的基准下,能执行的最好情况。例如,在没有负重的情况下,你跑100米需要花多少时间(这边,没有负重是基准

2.负载测试,也是性能测试,但是他是在不同的负载下的。对于刚才那个例子,如果扩展为:在50公斤、100公斤……等情况下,你跑100米需要花多少时间

3.压力测试,是在压力情况下的性能测试。对于刚才那个例子,如果改为:在一阵强风的情况下,你在负重或没有负重的情况下,跑100米需要花多少时间

2.知识剖析

JMeter怎么使用

重要的组件:

它的作用其实是为了模拟用户,所以也叫Users。一个线程组模块可以包含多个线程,每个线程代表一个用户,这样可以模拟高并发下的请求,并根据网站的响应信息来判断网站的相关性能。
可以设置线程数,实现并发,设置启动时间,实现瞬发;设置循环时间,实现持续长度;

HTTP请求:

可以通过设置ip、端口、方法、路径已经参数访问服务器

查看结果树:

可以请求信息以及服务器响应数据

聚合报告:

可以查看所有请求的综合情况。主要参数:Samples(请求次数)、Average(平均响应时间)、Error%(错误比率)、Throughput(每秒处理的请求数)

 

3.常见问题

1.JMeter的使用步骤

(1)添加线程组

(2)添加http请求

(3)在http请求中写入接入url、路径、请求方式和参数

(4)添加查看结果树

(5)调用接口、查看返回值

 

2.压测任务需求的确认

压测前要明确压测功能和压测指标,一般需要确定的几个问题:

1.    固定接口参数进行压测还是进行接口参数随机化压测?

2.    要求支持多少并发数?

3.    TPS(每秒钟处理事务数)目标多少?响应时间要达到多少? 

4.    压服务器名称还是压服务器IP,一般都是压测指定的服务器

 

3.压测设置

1.    线程数:并发数量,能跑多少量。具体说是一次存在多少用户同时访问

2.    Rame-Up Period(in seconds):表示JMeter每隔多少秒发动并发。理解成准备时长:设置虚拟用户数需要多长时间全部启动。如果线程数是20,准备时长为10,那么需要10秒钟启动20个数量,也就是每秒钟启动2个线程。

3.    循环次数:这个设置不会改变并发数,可以延长并发时间。总请求数=线程数*循环次数 

4.    调度器:设置压测的启动时间、结束时间、持续时间和启动延迟时间。

 

4.编码实战

线程组设置:

HTTP请求设置:

聚合报告:

查看结果树:

5.拓展思考

压测结果的分析

1.    有错误率同开发确认,确定是否允许错误的发生或者错误率允许在多大的范围内;

2.    Throughput吞吐量每秒请求的数大于并发数,则可以慢慢的往上面增加;若在压测的机器性能很好的情况下,出现吞吐量小于并发数,说明并发数不能再增加了,可以慢慢的往下减,找到最佳的并发数;

3.    压测结束,登陆相应的web服务器查看CPU等性能指标,进行数据的分析;

4.    一般不断增加并发数,达到一个值后,服务器出现请求超时,则可认为该值为最大的并发数。

5.    影响性能考虑点包括:数据库、应用程序、中间件(tomact、Nginx)、网络和操作系统等方面。

6.参考文献

https://zhidao.baidu.com/question/498084507.html

http://www.51testing.com/html/56/n-3723356-2.html

https://www.geek-share.com/detail/2705741710.html

7.更多讨论

 

8.鸣谢

感谢观看,如有出错,恳请指正

阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: