性能测试流程、优化、指标

1、性能测试的流程

1、确定性能测试的目标

之前做的压测性能标准、产品说明书的性能需求部分、运营人员提出的性能指标、通过生产环境换算出的性能指标等 

(1)接口响应时间不能超过3秒(每个接口的响应时间)

(2)需要达到的tps为1000(每秒钟处理的事物数)

(3)服务器cpu以及内存使用率小于75%

 

2、执行前的准备工作

(1)了解系统架构:所用到的接口服务器,应用服务器,缓存服务器,数据库服务器等

(2)测试数据的准备:用户数据、商品数据、订单数据等

(3)接口调试:测试单个接口是否正常

(4)压测工具的选择与压测脚本的编写与调试

 

3、执行压测以及监控各项指标

(1)执行压测脚本:通过在被测系统上不断增加压力,直到被测试系统的性能满足生产性能的要求

(2)系统服务监控:如服务器,数据库,cpu,内存,数据库连接数,tps, error, 平均值,90%百分位,等是否满足性能指标要求

搭建监控软件或平台,可点击

-> 性能监控 <-

合集进行查阅,总有一款适合你

 

4、性能调优

(1)参与人员:测试、开发、运维、DBA等

(2)基于上一步的监控数据,对性能频颈进行定位、分析,优化

 

5、性能回归测试

(1)再次执行压测脚本

(2)系统服务监控数据收集

(3)监控数据分析,直到满足性能指标;如不满足则再次进行调优,之后性能回归测试执行

 

6、编写测试报告

(1)压测概要,涉及到的测试工具,各种指标的介绍

(2)压测服务器信息,cpu,内存,操作系统,用途

(3)压测目的,是否达到性能要求

(4)压测方案,不断对系统施加压力,直到满足性能的要求

(5)压测结果

 

注意点:

(1)测试执行时,执行多次,取平均结果更为准确

(2)单机并发不够时,采用多机分布式并发,多机分布式不够采用阿里云等进行压测

(3)测试过程,一定要尽可能模拟实际应用场景

 

2、性能的优化

优化总结(参考)

1、架构的升级(增加reads缓存)

(1)注册接口:获取卡号后,暂存缓存服务器,并进入MQ队列,MQ队列取出后,保存数据库

(2)查询接口:原来读取的mysql数据库,改成读取的redis(缓存)

 

2、开发代码

(1)代码的逻辑优化

(2)接口返回值的优化,删除多余的返回字段

 

3、数据库

(1)SQL优化(加索引),查询方式

(2)SQL语句优化

 

4、硬件配置

(1)增加服务器、数据库cpu

(2)横向扩展增加服务器

 

5、服务器的部署

(1)资源的分配:把接口服务器上部署的应用挪到其他服务器

(2)根据服务器提供的服务类型不同,分为文件服务器、数据库服务器、应用程序服务器、WEB服务器等

 

6、服务器负载不均衡

(1)由原来的的择优分配机制改成轮询方式

(2)选择一台最优的服务器镜像拷贝到其他服务器,保证每台服务器对应的程序以及部署都是一样的

 

7、日志级别

(1)减少了日志量由原来的info改成error(日志级别越低输出的日志内容就越多,对系统性能影响很大)

(2)异步输出比同步输出性能高

 

3、性能测试关注的指标

1、服务器、数据库等,cpu、内存的使用率,磁盘I/O,网络带宽

2、并发用户数,在线用户数,

3、每个接口响应时间,平均响应时间

4、吞吐量:tps

5、事务成功率,超时错误率

 

posted @ 2021-11-05 17:29  AllTests软件测试  阅读(307)  评论(0编辑  收藏  举报