7.性能测试

目录

一、常见的性能问题

二、为啥要进行性能测试?

三、确定性能测试的需求(性能指标,量化)

1.关键性能指标分析

2.关键业务的分析

四、不同维度衡量系统的性能

1.研发人员

2.系统运维人员

3.用户

4.性能测试人员

五、性能指标

1.并发用户数

2.响应时间

3.事务的响应时间

4.每秒事务通过数

5.点击率

6.吞吐量

7.思考时间

8.资源利用率

六、性能测试的方法

1.基准测试:了解系统的性能

2.并发测试

3.压力测试

 4.配置测试

5.可靠性测试      24h甚至一周


一、常见的性能问题

1.内存泄漏

软件运行时,没有回收内存,导致系统运行越来越慢

2.CPU使用率达到100%

3.线程死锁阻塞,造成系统运行越来越慢

4.查询速度越来越慢

5.受外部系统的影响越来越大

二、为啥要进行性能测试?

1.获取系统性能的指标,作为性能基准指标

2.验证系统的性能指标,是否符合需求

应用系统是否能满足系统的各项性能指标

应用系统是否可以处理预期的用户数量,并且有盈余能力

应用系统是否可以处理预期的事务数量

在预期和非预期的情况下,系统是否可以稳定运行

在预期和非预期的情况下,用户使用软件时,是否可以获得舒适的体验

3.看系统是否有内存泄漏等瓶颈问题

4.看系统在正常工作情况下,能够接受用户访问的数量

5.了解系统的性能,让运维部门更好的规划系统的各种配置

三、确定性能测试的需求(性能指标,量化

1.关键性能指标分析

7.性能测试_第1张图片

同一时刻,支持200万用户在线,18个小时要处理2000万次交易,平均每秒处理309条,高峰期每秒处理309 * 3 = 927条

2.关键业务的分析

系统出问题,一般不是系统的所有功能出现问题,而是一些关键的业务或者功能出现问题

(1)在分析性能指标时,要选择用户频繁使用的功能

(2)计算量较大的业务(淘宝支付,要用到很多接口,优惠卷、余额扣款等)

四、不同维度衡量系统的性能

1.研发人员

系统架构是否合理,是否支持多线程并发

数据库设计是否合理,(合理放入索引和合理的表关联关系)

核心算法是否高效

设计和代码:是否存在不合理的线程同步方式和不合理的资源竞争

2.系统运维人员

关注系统对资源的利用率,服务器(CPU、内存、磁盘、网络带宽、服务器的利用率、数据库的使用状况)

系统的容量:系统支持的最大用户数

系统的稳定性:系统是否可以稳定运行

系统的可扩展性:如果要进行扩容操作,系统可以支持

3.用户

使用起来是否舒适,相应速度非常快,稳定性好

4.性能测试人员

以上的层面都需要关注

当系统的性能无法达标时,关注引起系统性能的瓶颈

7.性能测试_第2张图片

五、性能指标

1.并发用户数

业务层面的并发数:同一时刻,向服务器发送请求的用户数量

后端服务器的并发数:同一时刻,向后台服务器发送请求的用户数量 

2.响应时间

用户发送请求到用户所期待的响应完全展示到前端,所用的时间

7.性能测试_第3张图片

 系统响应时间:服务器之间通信处理请求所需要的时间

3.事务的响应时间

系统中完成一个事务的平均时间

4.每秒事务通过数

TPS(Transcation交易,业务,事务 Per Seconds)

平均每秒处理事务的数量

5.点击率

每秒点击数,代表用户每秒向web服务器提交的HTTP请求的数量

点击率越大,服务器压力越大

6.吞吐量

单位时间内系统处理的信息量

TPS, HPS(HTTP Per Second)

7.思考时间

模拟用户操作的实际停顿时间

8.资源利用率

系统在运行的时候资源的使用情况,CPU、内存、硬盘、网络等

六、性能测试的方法

1.基准测试:了解系统的性能

系统的新版本,或者新接手的系统,需要进行基准测试,获得系统的性能指标,做为以后保持系统性能的基准

进行基准测试,不仅可以可以获取系统的性能指标,还可以会发现新系统的一些性能问题

2.并发测试

同一时刻,向后端服务器发送请求,测试系统的表现,看系统是否会因为用户量大而引起资源竞争,死锁等问题

3.压力测试

一般指后端里的测试,不断对系统施加压力,看系统在长期处于临界饱和的情况下,系统的稳定性,以及系统指标的变化

进行压力测试时,不断向系统增加负载,使得系统长期处于高负荷状态,看系统在这种极限情况下的CPU利用率、内存使用情况等其他指标

7.性能测试_第4张图片

 4.配置测试

系统配置在不同的配置上进行测试,找出能够使系统性能发挥到最优的配置

操作系统的配置 unix Ubuntu Redhat

数据库服务器的配置  读写,存储量大,

JVM配置

网络环境

服务器,内存,磁盘等

5.可靠性测试      24h甚至一周

验证系统长时间运行的稳定性

系统实际负载的70%左右,长时间运行,看系统是否稳定,指标是否稳定

你可能感兴趣的:(测试,jvm)