网站制作合同书,古镇网站建设熊掌号,爱站网关键词挖掘工具熊猫,外国人注册公司需要什么条件压测#xff0c;在很多项目中都有应用#xff0c;是测试小伙伴必备的一项基本技能#xff0c;刚好最近接手了一个小游戏的压测任务#xff0c;一轮压测下来#xff0c;颇有收获#xff0c;赶紧记录下来#xff0c;与大家分享一下#xff0c;希望大家能少踩坑。
一、压…压测在很多项目中都有应用是测试小伙伴必备的一项基本技能刚好最近接手了一个小游戏的压测任务一轮压测下来颇有收获赶紧记录下来与大家分享一下希望大家能少踩坑。
一、压测的时机
压测的时机很重要如果时间选择不对可能会做无用功简单总结下5个常见的压测场景
1、活动上线前压测
活动类的项目常规操作是在活动上线前对系统进行一个摸高压测根据预估的流量对系统配置进行优化调整保证活动期间系统能正常运行。
本次的小游戏项目就属于活动类在上线前进行了压测。
2、项目上线稳定后对系统评估
系统上线后随着用户量不断增加承受的压力会越来越大为了让系统在未来的时间内稳定运行需要通过压测对系统进行评估以调整配置或优化接口来充分应对不断增长的用户量。
3、项目研发后期对系统的检验
在项目后期由于领导或团队的要求需要对系统的稳定性做校验保证系统短时间内流量陡增时能稳定运行可以给系统的部署提供参考。
4、线上出现性能问题
有些项目为了抢占市场节省时间完成了基本的功能就上线了没有做压测当用户突然增加出现线上性能问题后反过来做压测这种情况的风险是很大的不推荐。
5、合作方要求
有些合作方对性能有明确的要求并且写进了合同这种情况下就必须去做压测了。
二、压测过程
可做压测的工具很多业界用得比较多的是Jmeter今天我们就以Jmeter为例分享下做压测的6个步骤
1、编写压测脚本 1添加HTTP请求
填写请求方法路径请求参数 2添加HTTP信息头管理器
有些请求不需要添加使用默认值有些需要添加与开发同学确认即可注意请求体为Body Data时大部分情况下需要添加请求头Content-Type: application/json 3添加响应断言 4添加断言持续时间
根据项目情况确定一般设置为60s 5评估是否需要限制吞吐率添加Constant Throughput Timer
有时候为了模拟真实的使用场景尽量保证线程组设置的并发数与聚合报告中的吞吐率一致 6查看结果树
开始压测时勾选仅错误日志便于查看报错信息调试时需要查看所有日志保证接口脚本能正常调通 7聚合报告 2、准备压测服务器测试服务器/线上服务器
有些项目需要在测试服务器上进行而有些则直接在线上服务器进行例如还未上线的活动类项目就可直接在线上压测不同的服务器配置压出来的结果是不同的。
3、开始压测
提前与开发和产品同学确认并发量如果项目有明确的用户数比如500用户那就直接用500并发或者稍稍高于500的并发如果项目没有明确的并发可根据当前项目情况酌情施压。
在压测过程中注意观察服务器资源消耗情况例如cpu内存磁盘网络等以及服务器Nginx的日志。
观察服务器的压力如果在测试环境可以在服务器上装个nmon工具可实时查看服务器的资源消耗情况如果是线上环境一般不能直接远程服务器可以找运维同学要链接比如这次运维同学直接给了夜莺Nightingale的链接地址登录可直接查看服务器的资源消耗情况。
查看服务器的Nginx主要是看是否有报错信息以及请求是否打到了测试服务器上。
4、记录结果
主要包括服务器配置压测场景、Jmeter聚合报告以及接口报错情况服务器资源监控等。
1服务器配置
测试环境机器配置单台机器配置为6核6G内存
线上环境机器配置两台Web应用程序服务器负载均衡一台数据库服务器每台配置为6核6G内存
2压测场景
打开红包猜测红包大小获取红包状态接口写上接口的URI
/v1/api/red
3聚合报告
1s起1000个线程数循环次数500次压测时间2023/01/17 15:00~15:05记录压测时间是为了在夜莺Nightingale上查看时间段内的资源消耗情况图 主要关注平均响应时间AverageError%Throughput
4测试结果
查看结果树将报错的类型全部列举出来例如存在连接超时的报错Connection timed out 5资源监控
关注CPU使用率内存使用率网络流量 5、提性能Bug和验证Bug
如果有的接口有性能Bug提Bug给开发开发修复后再次压测进行回归测试验证Bug已修复。
6、发送压测报告
将步骤4的结果进行简单的文字分析总结发送压测报告
最后感谢每一个认真阅读我文章的人礼尚往来总是要有的虽然不是什么很值钱的东西如果你用得到的话可以直接拿走 这些资料对于【软件测试】的朋友来说应该是最全面最完整的备战仓库这个仓库也陪伴上万个测试工程师们走过最艰难的路程希望也能帮助到你