1.ab是什么?linux
ab是apache自带的一个压测工具。它的原理是ab命令会建立多个并发访问线程,模拟多个访问者同时对某一URL地址进行访问。它的测试目标是基于URL的,所以,它既能够用来测试apache的负载压力,也能够测试nginx、lighthttp、tomcat、IIS等其它Web服务器的压力。nginx
2.为何要使用ab?apache
我作的是游戏支付平台,要求必定要稳定,并发大的时候不能挂,因此上线以前要使用压测工具压测,看看接口的峰值等。json
3.linux上安装ab后端
linux上安装ab很是简单,步骤以下:tomcat
1.我是安装在 /usr/local 下,新建一个文件夹 mkdir ab服务器
2.开始安装 yum -y install httpd-tools并发
3.测试是否安装成功 ab -Vapp
4.ab经常使用的参数介绍工具
-n :总共的请求执行数,缺省是1;
-c: 并发数,缺省是1;
-t:测试所进行的总时间,秒为单位,缺省50000s
-p:POST时的数据文件
-T:跟_p一块儿使用,主要post请求时请求头的信息
5.开始测试
我此次是测试nginx的性能。由于我是post请求,要有请求体、请求头的信息。后端使用了@RequestBody,因此请求体的内容必须是json格式。
下面开始介绍用ab压测的时候post请求的用法:
1.首先在安装路径下,新建一个文件 post.txt,命令以下:
2.而后打开post.txt文件,将本身的请求体的信息放进去:
3.最重要的命令来了,注意看:
ab -n 100 -c 10 -p post.txt -T 'application/json' 服务器地址:端口号/test.json
这个表示同时处理10个请求并运行100次这个test.json
解释一下 -n是指总共100个请求 -c是指并发数10 -p是指post请求请求体内容 -T是指请求体信息 后面的就是本身的请求地址
4.执行结果
比较重要的参数详细解释一下:
//你们最关心的指标之一,至关于 LR 中的 每秒事务数 ,后面括号中的 mean 表示这是一个平均值
Requests per second: 122.12 [#/sec] (mean)
//你们最关心的指标之二,至关于 LR 中的 平均事务响应时间 ,后面括号中的 mean 表示这是一个平均值
Time per request: 8188.731 [ms] (mean)
//每一个请求实际运行时间的平均值
Time per request: 8.189 [ms] (mean, across all concurrent requests)