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
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。