ab命令会创建很多的并发访问线程,模拟多个访问者同时对某一URL地址进行访问。它的测试目标是基于URL的,因此,既可以用来测试Apache的负载压力,也可以测试nginx、lighthttp、tomcat、IIS等其它Web服务器的压力。
ab命令对发出负载的计算机要求很低,既不会占用很高CPU,也不会占用很多内存,但却会给目标服务器造成巨大的负载,其原理类似CC攻击。自己测试使用也须注意,否则一次上太多的负载,可能造成目标服务器因资源耗完,严重时甚至导致死机
1. 安装
sudo yum install httpd-tools
2. get方式使用
ab -n 4000 -c 100 http:/www.xx.com/a.php
-c代表100个并发 ;-n代表4000个request请求
3. post方式
ab -t 60 -c 5000 -p data.txt -T 'application/json' http://www.xx.com/b.php
data.txt内容:
{"data":"{\"id\":\"007dc145\",\"data\":[{\"mac\":\"48:e9:f1:ef:88:fc\",\"rssi\":\"-94\",\"ch\":\"6\",\"essid0\":\"YC_Test 2.4G\",\"range\":\"118.5\"},{\"mac\":\"20:f4:1b:7d:c1:45\",\"rssi\":\"-10\",\"ch\":\"6\",\"range\":\"1.0\"},{\"mac\":\"88:25:93:f3:7b:a6\",\"rssi\":\"-97\",\"ch\":\"12\",\"range\":\"153.1\"}],\"mmac\":\"20:f4:1b:7d:c1:45\",\"rate\":\"2\",\"time\":\"Mon Aug 14 00:30:38 2017\",\"lat\":\"23.040892\",\"lon\":\"113.151031\"}"}
-t 代表发起request请求60秒 -T 代表.txt参数类型
网友评论