什么是压力测试
压力考察当前软件硬件环境下,系统所能承受的最大负荷,比如部署一台机器,用docker镜像,4g内存4核cpu,512g磁盘空间,通过压力测试找到系统运行的瓶颈,方便我们调优在一个标准环境下云运行,这是一个系统上线必须考虑的事情。
同时使用压力测试,我们希望找到更多的难以察觉的错误,比如内存溢出,并发情况下的情况
其实这玩意一般上线会由测试人员进行,但是如果是小公司,可能开发也需要兼顾运维和测试, 测试只能做功能测试,黑盒测试,如果分配了测试任务,开发可能需要再本地进行掌握这些参数,保证测试不会有那么多的提测单
聊一下性能指标
聊到测试,可能要说一下术语指标:
-
响应时间
指从客户端发起一个请求开始,到客户端接受到服务端返回到响应结束,整个过程所消耗的时间 - hps 每秒点击次数,单位秒
- tps 系统每秒可以处理处理的交易数 单位笔 一个事务
- qps 系统每秒处理查询的次数
最大响应时间
最小响应时间
吞吐量: 每秒系统能够处理的请求数量,任务数量
错误率,一批请求出错占比;
一般情况下,这种指标越大越好,说明接口性能不错
但是一般小型网站在
- 5000到一万之间tps差不多了
- 中等项目在1万到5万。
- 加粗样式大型项目可能需要2万到10万
如何测试
Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。 它可以用于测试静态和动态资源,例如静态文件、Java 小服务程序、JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。另外,JMeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果。为了最大限度的灵活性,JMeter允许使用正则表达式创建断言。
登录官网Jmeter下载,得到压缩包jmeter-5.0.tgz,下载地址:
http://jmeter.apache.org/download_jmeter.cgi
点击bin目录下的jmeter.bat即可启动Jmeter。
![在这里插入图片描述](https://img-blog.csdnimg.cn/2021040316414448.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDU1MDQ5MA==,size_16,color_FFFFFF,t_70