性能测试需要掌握的知识:
1、性能测试工具
2、操作系统(windows,Linux(CPU,磁盘,网络,内存))
3、编程语言(java简单代码(jvm))
4、网络知识
5、数据库(mysql、Oracle、redis、mongoDb)
6、中间件(Nginx,Tomcat)
7、架构(可以从项目的数据流向开始了解)
性能测试基础:
一、什么是软件性能测试
俩个方面:响应时间 和 及时处理能力
二、性能测试的目的
1、评估系统处理能力:验证系统处理能力是否达到规划时的水平
2、发现系统的性能瓶颈:某个接口响应时间是否很长,tps很低,硬件方面是不是可以支持
3、验证系统稳定性和可靠性:长时间的测试会不会导致内存溢出
4、系统调优:重复执行性能测试,来验证系统调优是否取得预期结果
问题分析:
中间件:优化连接数(Nginx,tomcat)
tps低:需要看服务器资源使用情况,如果资源使用情况很低,那么一般都是连接数导致的,需要调大你的连接数(包括中间件的连接数,数据库的连接数),
如果时资源使用很高,需要定位是哪个进程导致的
三、性能测试方法
常规性能测试:a点到b点的性能测试,指以系统预期性能指标为前提,对系统不断增加压力,以验证系统能否达到预期性能。
负载测试:不断的增加系统的并发用户数(10-30-50),给系统不断的增加压力,直到性能指标(例如响应时间)超过预期值,或者系统已达到饱和状态
负载测试主要目的:是找到系统处理能力的极限在哪里
压力测试:负载一定的情况下(例如100),持续的运行一段时间(例如n*24小时),来验证系统的稳定性
性能测试工具对比:(100以上均算大并发)
四、性能测试的步骤
五、性能测试应该关注的指标
用户关注的:系统的响应时间
响应时间的组成:网络( N1+N2+N3+N4)+服务器(A1+A2+A3)
管理人员关注的性能点:
性能关注点 | |
应用服务器/数据库服务器资源使用是否合理 |
资源利用率 |
系统能否实现可扩展 |
可扩展性 |
系统最多支持多少用户 |
系统容量 |
系统最大业务处理能力 |
tps(每秒服务器能够处理的请求数) |
系统性能可能存在的瓶颈在哪里 |
数据库慢查询等 |
更换哪些设备能够提高系统性能 |
cup核数加大,内存加大,固态硬盘等,特殊节日堆服务器等 |
稳定性,能否支持7*24小时的业务访问 |
一般跑8小时,12小时 |
开发人员关注的性能:
架构设计是否合理 |
系统架构 (架构数据流向) |
数据库设计是否合理 |
数据库设计(监控是不是有慢查询) |
代码是否存在性能问题 |
代码(多个事务一起跑) |
代码是否存在不合理的内存使用方法 |
代码(监控内容是否有内存溢出) |
性能测试时,先跑单个场景,再跑混合场景(多个接口)
原文:https://www.cnblogs.com/kulankadamei/p/11055908.html