使用siege进行乱序压力测试

web压力测试,之前用过autobench和ab,但是都不是进行乱序测试的,之后看公司wiki发现有人用siege进行乱序测试。

这个东西安装和使用很简单,主要步骤如下

1
2
3
4
5
6
7
8
9
10
11
12
13
 wget ftp://ftp.joedog.org/pub/siege/siege-latest.tar.gz cd siege* ./configure make make install siege -c 1000 -r 100 -i -b -f url.txt 
```

这其中url.txt中是所有需要测试的连接。 -c 表示并发1000, -r表示执行100次, -i表示乱序, -b表示循环100次之间不停顿,默认是停顿1

但是siege自身感觉也是有瓶颈的,并发数最大也就1000,再提高就会报下面这样的错误

\[error\] socket: unable to connect sock.c:222: Operation already in progress socket: connection timed out

这样最终导致测试结果怎么都没法超过2W每秒的请求,所以就把siege -c 1000 -r 100 -i -b -f url.txt 放到shell中并发执行

```c
for i in {1..10} do siege -c 1000 -r 100 -i -b -f url.txt &; done