性能测试基本概念

性能测试需要掌握的知识:

1、性能测试工具

2、操作系统(windows,Linux(CPU,磁盘,网络,内存))

3、编程语言(java简单代码(jvm))

4、网络知识

5、数据库(mysql、Oracle、redis、mongoDb)

6、中间件(Nginx,Tomcat)

7、架构(可以从项目的数据流向开始了解)

性能测试关注的常用指标(重点)

1、并发

2、并发用户数

3、事务

4、响应时间

5、TPS

6、吞吐量

7、点击率

8、资源利用率

性能测试基础:

一、什么是软件性能测试

性能测试是指被测系统,在一定的负载下运行,监控系统的各项指标,是否符合需求(指标,指的CPU,内存,事务响应时间,等)如果不符合,就发现了系统的性能瓶颈

衡量指标有俩个方面:响应时间及时处理能力

二、性能测试的目的

 1、评估系统处理能力:验证系统处理能力是否达到规划时的水平

2、发现系统的性能瓶颈:某个接口响应时间是否很长,tps很低,硬件方面是不是可以支持

3、验证系统稳定性和可靠性:长时间的测试会不会导致内存溢出

4、系统调优:重复执行性能测试,来验证系统调优是否取得预期结果

问题分析:

中间件:优化连接数(Nginx,tomcat)

tps低:需要看服务器资源使用情况,如果资源使用情况很低,那么一般都是连接数导致的,需要调大你的连接数(包括中间件的连接数,数据库的连接数),

如果时资源使用很高,需要定位是哪个进程导致的

三、性能测试方法

 

常规性能测试:a点到b点的性能测试,指以系统预期性能指标为前提,对系统不断增加压力,以验证系统能否达到预期性能。

负载测试:不断的增加系统的并发用户数(10-30-50),给系统不断的增加压力,直到性能指标(例如响应时间)超过预期值,或者系统已达到饱和状态

负载测试主要目的:是找到系统处理能力的极限在哪里

压力测试:负载一定的情况下(例如100),持续的运行一段时间(例如n*24小时),来验证系统的稳定性

四、性能测试的步骤

 性能测试的时候,先做单接口的性能测试场景,方便定位性能问题,

再做混合场景的性能测试,看有没有新的性能问题

五、性能测试应该关注的指标

用户关注的:系统的响应时间

响应时间的组成:网络( N1+N2+N3+N4)+服务器(A1+A2+A3)

测试(管理)人员关注的性能点:

性能关注点  

应用服务器/数据库服务器资源使用是否合理

资源利用率               

系统能否实现可扩展

可扩展性

系统最多支持多少用户

系统容量

系统最大业务处理能力

tps(每秒服务器能够处理的请求数)

系统性能可能存在的瓶颈在哪里

数据库慢查询等

更换哪些设备能够提高系统性能

cup核数加大,内存加大,固态硬盘等,特殊节日堆服务器等

稳定性,能否支持7*24小时的业务访问

一般跑8小时,12小时

开发人员关注的性能:

架构设计是否合理

系统架构 (架构数据流向)

数据库设计是否合理

数据库设计(监控是不是有慢查询)

代码是否存在性能问题

代码(多个事务一起跑)

代码是否存在不合理的内存使用方法

代码(监控内容是否有内存溢出)
   

性能测试工具对比:(100以上均算大并发)

LR jmeter

专业化的工具,需要购买序列号,或者用破解版(国内目前可用lr11)

开源的性能测试工具
学习成本低,只需学习三大部分 做一个请求就需要设计很多插件                           
脚本:lr支持录制,但不建议录制(对浏览器版本依赖强,可能录制不成功) 录制功能需要借助badboy,不建议录制
报表:自带的监控信息很全 需要自己装插件
大并发时数据比较准确 大并发时数据不是很准确
支持线程和进程 只支持线程,不支持进程
数据库处理比较麻烦 sql处理很方便

 术语解释:

并发,分为狭义广义俩种并发:

狭义并发:所有用户在同一时间请求同一接口

广义并发:多个用户在同一时间请求不同的接口

在性能测试中,一般时先进行狭义并发,再进行广义并发

性能测试的时候,先做单接口的性能测试场景,方便定位性能问题,再做混合场景的性能测试,看有没有新的性能问题

并发用户数:

系统用户数:注册过系统的所有用户,包括每天的活跃用户数以及僵尸用户数

在线用户数:登录系统的用户,但不一定会对服务器产生压力,例如:有N个用户状态为在线状态,但是并不一定都会有请求,对服务器造成压力

并发用户数:对服务器产生压力的用户,例如:可能在线的N个用户中,只有20%的用户对服务器产生了压力,也就是说这个接口只有20%的用户是并发用户

原文地址:https://www.cnblogs.com/kulankadamei/p/11055908.html