一、第1章 性能测试整体认知
1、shell
2、jvm调优,tomac调优
3、mysql:增删改查,监控,明白原理,
语言:java,python:
4、分析调优工具:visualvm,yourkit、jps、jstat
5、LR,jmeter,fiddler
6、监控,瓶颈,
7、网络协议:http
- 开发语言:java,python
- 操作系统:linux:会操作(文件),监控,获取服务器
- 数据库:mysql:增删改查,监控数据库,明白监控返回的状态信息,
- 测试工具:
- 网络知识:对性能影响很大,网络宽带/数据/报文大小;http协议分层?
- 业务知识:
性能测试目的:发现性能瓶颈
分类(测试范围):
负载测试:通过逐步加压的方法,达到既定的性能阈值目标。如CPU使用率小于等于80%
压力测试:通过逐步加压的方法,达到系统某些资源达到饱和,甚至失效的状态,简单说就是什么条件能把系统压崩溃。
并发测试:在同一时间内,多个虚拟用户同时访问同一模块、同一功能,通常的测试方法是设置集合点。
容量测试:通常是指数据库层面,目标是获取数据库的最佳容量的能力。又称容量预估。具体测试方法为在一定的并发用户,不同基础数据量下,观察数据库的处理能力,即获取数据库的各项性能指标。
可靠性测试:又称稳定性测试或疲劳测试。是指系统在高压情况下,长时间的运行系统是否稳定。如CPU使用率80%以上,7*24小时运行,系统是否稳定。————内存泄漏
异常测试:又称失败测试,是指系统架构方面的测试。如在负载均衡架构中,要测试宕机、节点挂掉等情况系统的反映
工作流程
需求分析:熟悉了解项目,用户如何操作,那些是重点
性能指标制定:吞吐量、TPS等定义,要有个目标,什么样的标准满足现阶段需求
脚本开发:工具
场景设置:和需求分析产生关联,设置场景要符合用户在应用程序上的使用流程,
监控部署:运行到服务器,数据库,要查看性能瓶颈
(循环以下这几步)
测试执行:有几个阶段,
1基础测试,少量用户-发现多并发下应用程序对多线程逻辑处理问题,
性能分析:基于监控部署,
性能调优:
测试报告
常见系统应用分层架构