性能指标
- xxx功能,在 xxxx并发场景下,服务器CPU使用率 内存使用率,响应时间
如何做性能测试?
- 拿到性能测试对应的性能指标 (上级领导)
- 测试人员 准备测试脚本
- 执行测试
- 发现问题,修复之后,再压测试
- 测试报告
以 Cnode 社区为例,
5个用户
发帖和查看话题详情以及收藏话题
5分钟
要求 服务器的CPU 使用率 不超过 85%
内存不超过 85%
响应时间不大于1秒
- 创建性能脚本
- 设置线程组
- 线程数: 模拟的用户数 (一般多少个并发 就设置多少个线程数)
- Rump-Up 时间: 启动上面设定总的线程数所需要的总时间,比如:线程数设置为10000,Rump-time 时间设置为20秒, 即20秒内生成10000个线程,每秒生成500个线程。 (配置主要依据总的线程数和自己电脑配置)
- 循环次数: 执行多少次。 如果设置为永远,则一直运行
当设置为永远的时候,会跟下面的调度器一起使用
- 持续时间: 运行的时间
- 启动延迟: 点击开始运行按钮之后 延迟多少秒之后才开始运行。比如设置10,点击运行10秒之后才开始运行脚本。
聚合报告
运行性能测试的时候,添加聚合报告
【线程组】—【右键】—【添加】—【监听器】—【聚合报告】
实战:
1, 搭建Linux服务器 禅道服务
2。 压测禅道
性能测试实战
安装禅道
下载
wget https://www.zentao.net/dl/zentao/15.0.1/ZenTaoPMS.15.0.1.zbox_64.tar.gz
解压
tar -xf ZenTaoPMS.15.0.1.zbox_64.tar.gz -C /opt/
启动
/opt/zbox/zbox start
登录
录制性能脚本
打开Firefox 浏览器, 打开【设置】
找到网络设置
设置代理
http代理: 127.0.0.1
端口号: 8888
JMeter 新建测试计划
在新的测试计划中创建线程组,以及Http代理服务器
【测试计划】—【右键】—【添加】—【非测试元件】—【http代理服务器】
设置代理服务器
在代理服务器中设置 目标控制器
【目标控制器】—【测试计划-》线程组-禅道】
设置排除模式,
使用JMeter自带的排除模式
点击 【启动】
启动成功之后 使用 Firefox 浏览器 打开登录页面
登录成功之后 点击【停止】
停止之后 可以看到 服务器端录制的请求
总结
- 性能测试的流程? (你们公司是如何做性能测试的)
相关需求
编写脚本
根据需求 在JMeter 编写对应的测试脚本
- 如果有接口文档,我们根据接口编写http请求
如果是web页面的话, 通过设置代理抓取对应http请求
脚本设置好之后: 如果业务上存在上下游关联,我们通过设置json提取器或者正则表达式提取器 将数据提取出来设置为变量;
测试用户的数据准备
开发协助 从数据库中导出一部分账号信息 保存在csv文件中 在JMeter 设置csv数据驱动来模拟用户
在必要的接口上添加断言
设置线程组,在线程组中 设置对应线程数和执行时间
添加聚合报告;
执行测试
执行测试的时候,
- 查看聚合报告: 响应时间 (99%), 错误率
- 查看服务器的状态: top (cpu,内存)
发现性能缺陷并解决缺陷
开发和运维
测试报告
整个团队一起出测试报告