Apache Bench

apt-get install apache2-utils
yum install httpd-tools

使用方法:

ab -n 100 -c 10 -l http://www.your_site.com/
-n number 总的请求数
-c concurrency 并发数
-l 表示当某个请求的回复长度不与第一个请求的回复长度一致时,不把它作为失败的请求
-p 发送post请求并指定post参数文件

ab 使用很方便,可是问题在于,当我们需要在一个test中对多个 URL 进行并发请求的时候,ab没法做到。这时,我们可以用 siege。

siege

siege 安装方式有两种,可以用 homebrew或自己编译:

brew install siege

还可以直接下载压缩包

curl -C - -O http://download.joedog.org/siege/siege-latest.tar.gz
tar -xvf siege-latest.tar.gz
cd siege-4.0.2
./configure
make
make install

常见参数

-t time 测试时间,比如 60s 或 5M
-c concurrency 并发数
-r repetitions 重复做几轮
-f text file 从外部文件读取参数值
-d delay 延迟时间默认是1秒; 如果设置为 -d 5 表示是在1-5秒之间的随机延迟时间

多个请求
在 siege-urls.txt 文件中定义两个不同的并发请求 Get 和 Post。order.json 中是 json格式的消息体。

#siege-urls.txt
https://api.appletest.com/v1/apps/app_f1KG/orders/12345
https://api.appletest.com/v1/apps/app_f1KG/orders/12345 POST <./order.json

执行命令

siege  --header="Authorization:Bearer your_username" -f siege-urls.txt

参考


曾纪文
201 声望22 粉丝

« 上一篇
协程
下一篇 »
git 分支管理