搭建测试环境
根据上面文档搭建测试环境。
创建测试请求
准备1000个测试账户
如果有注册接口,可以直接在jmeter中通过接口的访问方式来进行操作,如果没有接口,通过抓包的方式来找到接口。
浏览器抓包
打开chrome浏览器。地址中输入要抓包的请求地址,比如注册页面。打开开发者工具。
【右键】—【检查】(或者使用快捷键F12也可以打开。)
通过抓包,找到对应的请求。
整理成API文档
请求方式:POST
请求url: http://1.117.45.85:3000/signup
请求headers:
Content-Type | application/x-www-form-urlencoded |
---|---|
请求body:
字段 | 类型 | 说明 |
---|---|---|
loginname | string | 用户名 |
pass | string | 密码 |
re_pass | string | 确认密码 |
string | 邮箱地址 |
根据接口,在JMeter中创建对应的线程组。
批量注册
使用csv文件准备多个账号
username.csv
也可以使用python代码
with open('./testuser.csv',mode='a',encoding='utf8') as file:
for i in range(10000):
file.write('fanmao'+str(i)+",1234567,fanmao"+str(i)+"@qq.com\n")
设置线程数
批量注册成功之后,进入数据库中激活账号。
因为本次使用的是mongodb 数据,下面简要说下mongodb主要语法。
mongodb
进入数据库
在服务器上,命令行模式下输入命令 mongo
进入mongodb 服务器
查看数据库
show dbs;
使用数据库
use node_club_dev;
查看表
show tables;
查看users表中的数据
db.users.find({});
- db 固定的
- users 表名
- find({}) 查找所有。
统计数据
查看users 表中总共数据个数;
db.users.find({}).count();
> db.users.find({}).count();
2294
激活users表中所有的用户
db.users.update({"active" : false},{$set:{"active" : true}},{multi:true})
退出mongodb
使用 exit
或者 ctrl+c
导出数据
用户所有的token都是在 users表中保存。
现在将users表中所有的token值导出存放到csv文件中。
mongoexport -d node_club_dev -c users -f accessToken --csv -o /tmp/testusers.csv
- mongoexport 导出命令
- -d 数据库名称
- -c 表名称
- -f 字段名称,多个字段之间使用
,
隔开。 - —csv 表示导出数据格式
- -o 数据保存的路径
运行场景
添加聚合报告,
监控服务器
在服务器上使用 top命令或者 htop 命令监控服务器
htop需要安装
yum install -y htop
测试报告
作业
1设置压测场景
要求
并发数:50
压测时间 : 10分钟
场景
- 创建主题
- 回复主题
- 收藏主题
- 取消收藏
统计
- 响应时间
- 错误率
- 吞吐量