性能测试流程、优化、指标
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)测试过程,一定要尽可能模拟实际应用场景
优化总结(参考)
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)异步输出比同步输出性能高
1、服务器、数据库等,cpu、内存的使用率,磁盘I/O,网络带宽
2、并发用户数,在线用户数,
3、每个接口响应时间,平均响应时间
4、吞吐量:tps
5、事务成功率,超时错误率
下面是测试资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!
最后: 可以在公众号:伤心的辣条 ! 免费领取一份216页软件测试工程师面试宝典文档资料。以及相对应的视频学习教程免费分享!,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。
学习不要孤军奋战,最好是能抱团取暖,相互成就一起成长,群众效应的效果是非常强大的,大家一起学习,一起打卡,会更有学习动力,也更能坚持下去。你可以加入我们的测试技术交流扣扣群:914172719(里面有各种软件测试资源和技术讨论)
喜欢软件测试的小伙伴们,如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!
转行面试,跳槽面试,软件测试人员都必须知道的这几种面试技巧!
面试经:一线城市搬砖!又面软件测试岗,5000就知足了…
面试官:工作三年,还来面初级测试?恐怕你的软件测试工程师的头衔要加双引号…
什么样的人适合从事软件测试工作?
那个准点下班的人,比我先升职了…
测试岗反复跳槽,跳着跳着就跳没了…