Apache压力测试详解 包含需要登录后测试、json传参、表单涉及cookie-session等情况

近期做了一个资金账户管理系统,在测试阶段采用了Apache自带的ab工具进行压力测试,期间遇到了很多问题,摸索许久之后才测试成功,现用这篇文章做个记录。

 

先简单介绍一下被测试的系统的情况:

1)首先需要测试登录的接口,涉及post请求和json传参;

2)接着测试需要登录后实现的功能的接口,涉及post请求、json传参以及表单中使用到的cookie-session。

(被测试的系统使用express的中间件cookie-session进行会话管理,因此在传参时会以req.session.xxx的形式传递某些参数)

 

接下来是测试登录接口:

1)在任意文件夹中新建一个txt文件,此处我命名为userLogin.txt。文件内容如下:

注意除了type为number的不需要加引号,其它都需要加引号。

{"capitalaccountid": 1000001,"cashpassWord": "19770422"}

2)以管理员身份运行cmd,进入Apache安装位置的bin文件夹下。

3)运行以下指令:

ab -n 10000 -T application/json -p D:\Apache24\my-files\userLogin.txt "http://localhost:3000/userLogin/capitalUsersLogin"

ab:使用Apache自带的ab压测工具;

-n 10000:请求数为10000;

-T application/json:采用json传参的方式;

-p D:\xxx.txt:POST时的数据文件,此处为1)中创建的参数文件;

最后为需要压测的接口路径。

4)指令运行结果如下:

其中比较主要的几个性能数据为:

Requests per second吞吐率:是指在某并发用户数下单位时间内处理的请求数。

Time per request用户平均请求等待时间,Time per request across all concurrent requests服务器平均请求等待时间。

 

接下来测试需要登录后实现的功能的接口,此处以存款为例:

1)新建txt文件,命名为userDeposit,文件内容如下:

注意由于被测试的系统采用了cookie-session,才有session.xxx的写法。依旧注意引号。

{session.capitalaccountid: 1000002, "cashpassWord": "123456", "currencytype": "RMB", "depositamount":5}

2)以管理员身份运行cmd,进入Apache安装位置的bin文件夹下。

3)运行以下指令:

ab -n 10000 -T application/json -p D:\Apache24\my-files\userDeposit.txt "http://localhost:3000/userLogin/capitalAccountFundIn"

4)指令运行结果如下:

 

测试完毕。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值