搭建测试环境

Copy of CNode社区应用 · 凡猫资源项目组

根据上面文档搭建测试环境。

参考视频 cnode社区环境搭建.mp4

创建测试请求

准备1000个测试账户

如果有注册接口,可以直接在jmeter中通过接口的访问方式来进行操作,如果没有接口,通过抓包的方式来找到接口。

浏览器抓包

打开chrome浏览器。地址中输入要抓包的请求地址,比如注册页面。打开开发者工具。
【右键】—【检查】(或者使用快捷键F12也可以打开。)
image.png
通过抓包,找到对应的请求。

image.png

整理成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 确认密码
email string 邮箱地址

根据接口,在JMeter中创建对应的线程组。

用户注册.jmx
image.png

批量注册

使用csv文件准备多个账号
username.csv

也可以使用python代码

  1. with open('./testuser.csv',mode='a',encoding='utf8') as file:
  2. for i in range(10000):
  3. file.write('fanmao'+str(i)+",1234567,fanmao"+str(i)+"@qq.com\n")

在Jmeter中创建csv文件配置
image.png
在请求中使用变量
image.png

设置线程数

image.png

批量注册成功之后,进入数据库中激活账号。
因为本次使用的是mongodb 数据,下面简要说下mongodb主要语法。

mongodb

进入数据库

在服务器上,命令行模式下输入命令 mongo
image.png
进入mongodb 服务器

查看数据库

  1. show dbs;

image.png

使用数据库

  1. use node_club_dev;

image.png

查看表

  1. show tables;

image.png

查看users表中的数据

  1. db.users.find({});
  • db 固定的
  • users 表名
  • find({}) 查找所有。

统计数据

查看users 表中总共数据个数;

  1. db.users.find({}).count();
  1. > db.users.find({}).count();
  2. 2294

激活users表中所有的用户

  1. db.users.update({"active" : false},{$set:{"active" : true}},{multi:true})

image.png

退出mongodb

使用 exit 或者 ctrl+c

image.png

导出数据

image.png
用户所有的token都是在 users表中保存。
现在将users表中所有的token值导出存放到csv文件中。

  1. mongoexport -d node_club_dev -c users -f accessToken --csv -o /tmp/testusers.csv
  • mongoexport 导出命令
  • -d 数据库名称
  • -c 表名称
  • -f 字段名称,多个字段之间使用, 隔开。
  • —csv 表示导出数据格式
  • -o 数据保存的路径

image.png
将文件下载下来。
image.png

运行场景

添加聚合报告,
image.png

监控服务器

在服务器上使用 top命令或者 htop 命令监控服务器
htop需要安装

  1. yum install -y htop

image.png

测试报告

作业

1设置压测场景
要求
并发数:50
压测时间 : 10分钟


场景

  1. 创建主题
  2. 回复主题
  3. 收藏主题
  4. 取消收藏

统计

  1. 响应时间
  2. 错误率
  3. 吞吐量