项目:百度搜索fecmall
- 根据开源项目自己编写脚本
Fecmall性能测试实战
开发语言: php mysql
性能测试流程:
首先了解项目架构(开发架构),网络拓扑图(部署架构)
自有项目(自主研发的项目,沟通相对简单) + 第三方项目(需求调研)
需求调研报告(业务范围,技术架构,第三方接口等) 参与者:开发,运维,测试,产品经理
性能测试计划:
性能测试方案:
单元性能测试:采用切面编程,通过时间戳计算每个函数(方法)的时间
架构性能
接口级别的实施层面
性能目标:
第一手目标(原始目标): 1000000人访问?--》 落实到压测上
一天完成100万的订单量? --》具体的吞吐量(tps)
第二手目标(具体性能技术目标):TPS.响应时间
基于appfront压测: 关注的是用户体验(关注页面渲染相关性能)
基于appserver压测: 关注的是服务器端接口性能 (重心)
在压测过程中,我们可以使用jmeter分布式压测,采用主从的方式,也可以使用镜像制作Jmeter,docker拉去,开启进行压测
使用Jmeter完成上述接口: 单接口和混合接口分开,先单接口,后混合场景
HTTP Cookie管理器: 开启cookie功能,可以接受并保存服务器端返回的cookie信息
事务控制器: 管理,多个接口
吞吐量控制器: 控制比例,控制压力大小
Jmeter可以监控:响应时间和吞吐量(tps)
权限认证: session : 存在cookie
token : 头信息
设置:
SET GLOBAL sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));
单场景脚本开发: 先讲登录作为仅一次控制器,获取token ,进行下个接口的操作
脚本开发: 这边无法上传,只能截图了。 fecmall商城的开发接口文档有点小问题,但不影响脚本的编写和学习
根据接口文档编写对应的脚本 至于csv文件,接口关联,这些不在这上面赘述啦