什么是压测,为什么要进行压力测试?JMETER工具的使用
大家好,我是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.鸣谢
感谢观看,如有出错,恳请指正
阅读更多- 什么是压测,为什么要进行压力测试?JMETER工具的使用.
- 什么是压测,为什么要进行压力测试?Jmeter工具的使用
- Jmeter压力测试工具,是什么?怎么用?使用,例子,亲测
- [原创]如何使用Apache JMeter性能测试工具对WCF进行压力测试
- 使用Jmeter工具进行性能压力测试
- 使用Jmeter工具对tomcat进行压力测试(附调优参数链接)
- 使用Jmeter进行基本压力测试
- 使用Apache的ab工具进行压力测试
- 使用Apache的ab工具进行压力测试
- 网站压力测试工具Jmeter安装与使用
- 使用JMeter进行基本压力测试
- 使用jmeter 对APP进行压力测试
- 使用Jmeter进行基本压力测试
- 使用Apache的ab工具进行压力测试
- 使用JMeter对Tomcat进行压力测试与Tomcat性能调优
- 使用apache-jmeter进行压力测试
- 使用jmeter对websocket进行压力测试
- (转)使用JMeter进行Web压力测试
- [转贴]在 JMeter 压力测试工具中使用变量 和 函数
- 使用Apache的ab工具进行压力测试