说明
ab的主要弱点在于它不能让你模拟一个更加真实的请求分布——例如你想通过设置一个请求的列表来在这些列表之间来回测试,而siege就可以。
安装
siege需要自己从 http://www.joedog.or g/上自己下载,然后编译:
./configure --prefix=/usr/local/siege --mandir=/usr/local/man
make
# 转到超级用户
make install
注意在configure的时候,一定要设置mandir参数,否则当你通过 man siege 查看siege帮助的时候会看不到他的manual.
安装完成后,运行bin中的siege_config命令来创建.siege文件 之后,你可以通过
./siege -C
命令来查看当前配置
最简单的使用命令:
./siege http://localhost/
#用来测试本地主页
参数介绍
* -cNUM
设置并发的用户(连接)数量. 默认的连接数量可以到~/.siegerc中查看,指令为concurrent = x。比如-c10,设置并发10个连接
* -rNUM
(repetitions),重复数量,即每个连接发出的请求数量,设置这个的话,就不需要设置-t了。对应.siegerc配置文件中的reps = x指令
* -tNUM
(time),持续时间,即测试持续时间,在NUM时间后结束,单位默认为分,比如-t10,那么测试时间为10分钟,-t10s,则测试时间为10秒钟。对应.siegerc中的指令为time = x指令
* -b
(benchmark),基准测试,如果设置这个参数的话,那么delay时间为0。man siege中有一句话这样说:
it's not recommanded that you use this option while load testing.
说明基准测试和load testing 是完全不同的,至于有什么不同,可以阅读BenchMarkingVSLoadTestingVSPerformance.
* -f url.txt
(file),这是文件。对应.siegerc配置文件中的file = x指令
* 其他比较关注的测试方法,比如我想使用Keep-Alive方式进行测试,可以在.siegerc配置文件中进行修改,将connect = close改为 connect = keep-alive
* 另外您还可以通过-H HEADER参数来设置请求header。
ab的主要弱点在于它不能让你模拟一个更加真实的请求分布——例如你想通过设置一个请求的列表来在这些列表之间来回测试,而siege就可以。
安装
siege需要自己从 http://www.joedog.or
./configure --prefix=/usr/local/siege --mandir=/usr/local/man
make
# 转到超级用户
make install
注意在configure的时候,一定要设置mandir参数,否则当你通过 man siege 查看siege帮助的时候会看不到他的manual.
安装完成后,运行bin中的siege_config命令来创建.siege文件 之后,你可以通过
./siege -C
命令来查看当前配置
最简单的使用命令:
./siege http://localhost/
#用来测试本地主页
参数介绍
* -cNUM
设置并发的用户(连接)数量. 默认的连接数量可以到~/.siegerc中查看,指令为concurrent = x。比如-c10,设置并发10个连接
* -rNUM
(repetitions),重复数量,即每个连接发出的请求数量,设置这个的话,就不需要设置-t了。对应.siegerc配置文件中的reps = x指令
* -tNUM
(time),持续时间,即测试持续时间,在NUM时间后结束,单位默认为分,比如-t10,那么测试时间为10分钟,-t10s,则测试时间为10秒钟。对应.siegerc中的指令为time = x指令
* -b
(benchmark),基准测试,如果设置这个参数的话,那么delay时间为0。man siege中有一句话这样说:
it's not recommanded that you use this option while load testing.
说明基准测试和load testing 是完全不同的,至于有什么不同,可以阅读BenchMarkingVSLoadTestingVSPerformance.
* -f url.txt
(file),这是文件。对应.siegerc配置文件中的file = x指令
* 其他比较关注的测试方法,比如我想使用Keep-Alive方式进行测试,可以在.siegerc配置文件中进行修改,将connect = close改为 connect = keep-alive
* 另外您还可以通过-H HEADER参数来设置请求header。