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

在这里插入图片描述

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

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、事务成功率,超时错误率

下面是测试资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!
在这里插入图片描述

最后: 可以在公众号:伤心的辣条 ! 免费领取一份216页软件测试工程师面试宝典文档资料。以及相对应的视频学习教程免费分享!,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。

学习不要孤军奋战,最好是能抱团取暖,相互成就一起成长,群众效应的效果是非常强大的,大家一起学习,一起打卡,会更有学习动力,也更能坚持下去。你可以加入我们的测试技术交流扣扣群:914172719(里面有各种软件测试资源和技术讨论)

喜欢软件测试的小伙伴们,如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!


好文推荐

转行面试,跳槽面试,软件测试人员都必须知道的这几种面试技巧!

面试经:一线城市搬砖!又面软件测试岗,5000就知足了…

面试官:工作三年,还来面初级测试?恐怕你的软件测试工程师的头衔要加双引号…

什么样的人适合从事软件测试工作?

那个准点下班的人,比我先升职了…

测试岗反复跳槽,跳着跳着就跳没了…

你可能感兴趣的:(IT,软件测试,程序员,系统架构,运维,程序人生,测试工程师,软件测试)