工作需要,把一个后排序算法打包成微服务后,需要进行一下性能测试。内搜平台压力测试需求比较简单。
一、siege安装
wget http://download.joedog.org/siege/siege-latest.tar.gz
tar zxf siege-latest.tar.gz
cd siege-4.0.2/
./configure --prefix=./siege
sudo make
sudo make install
#是否安装成功
which siege
二、siege使用
-c 指定并发数
-r 指定重复次数
-f 指定url列表,可以一次给多个地址加压
-t 指定用例执行时间,比如-t 10s -t 1M(H)之类 -t10S(请求10s,注意格式要连着的)
-g 获取请求的headers信息并打印出来,debug专用
-H 指定请求的headers信息
-l或--log=[File] 输出测试结果日志 -l /docpath
三、例子(记录一下我用到的)
GET请求
#siege GET请求 -c并发量 -t持续请求时间5分钟(min) -r重复访问次数(-c最大255,需要在配置文件里找)
siege -c 100 -t5M -u 127.0.0.1:7007/rank
siege -c 200 -r 10 -u 127.0.0.1:7007/rank
POST请求
#siege POST
siege -c 200 -t5M -b "127.0.0.1:7007/rank POST query=q1&channel=q2"