Siege是一款HTTP压力测试和基准测试的实用工具,可用于在压力条件下对Web服务器的性能进行测量。它的评估依据包括传输数据量、服务器的响应时间、事务处理速率、吞吐量、并发性和程序正常返回的时间。Siege提供三种操作模式:回归测试,网络模拟测试和暴力测试。
此指南针对Debian与Ubuntu系统。
sudo apt-get update && sudo apt-get upgrade --show-upgraded
wget http://download.joedog.org/siege/siege-latest.tar.gz
tar -zxvf siege-latest.tar.gz
cd siege-\*/
sudo apt-get install build-essential
./configure
make
sudo make install
siege.config
.siegerc
文件。#
)来取消下面注释中的变量以及您想使用的其他设置:...
#
# 变量声明。你可以在此处设置
# 下方指令中所使用的变量。举例:
# PROXY = proxy.joedog.org
# 使用${} 或 $()来引用变量, 举例:
# proxy-host = ${PROXY}
# 对于环境变量可以不声明就进行引用,举例:
logfile = $(HOME)/siege.log
...
#
# 默认仿真测试并发用户数量设置
# 如: concurrent = 25
#
concurrent = 25
#
# Siege的默认持续时间设置. 等式右边参数中的修饰符指明了
# 时间单位,H=hours小时, M=minutes分钟,S=seconds秒.
# 如果没有指明单位修饰符,就是以分钟为单位。
# 如: time = 50M
#
time = 1M
你现在准备好运行Siege了!
在默认设置下运行Siege,请输入下面的命令,并将www.example.com
替换为您的域名或IP地址:
siege www.example.com
Siege程序的输出结果:
** SIEGE 2.70
** Preparing 25 concurrent users for battle.
The server is now under siege...
Lifting the server siege... done.
Transactions: 2913 hits
Availability: 100.00 %
Elapsed time: 59.51 secs
Data transferred: 0.41 MB
Response time: 0.00 secs
Transaction rate: 48.95 trans/sec
Throughput: 0.01 MB/sec
Concurrency: 0.04
Successful transactions: 2913
Failed transactions: 0
Longest transaction: 0.01
Shortest transaction: 0.00
FILE: /var/log/siege.log
您可以取消这种烦人的信息通过编辑主目录下的.siegerc文件,
将修饰符`show-logfile`置为false
如果没有失败的连接且可用性保持在100%,则通过压力测试。
如果您希望Siege随机访问您网站上的多个页面,请将程序配置为从列出选定页面的urls.txt
文件中读取。
/usr/local/etc/urls.txt
位置的urls.txt
文件。向该文件添加URL或IP地址的表单:siege
命令来用Siege访问该文件:
siege
如果需要访问指定文件,请运行:
siege -f your/file/path.txt
Siege具有许多命令行选项,可以在不编辑相关文件情况下就实现修改默认设置使用。
-c [num]
:设置并发用户数。大多数Web服务器只有不到百个用户会同时尝试访问其网站,因此通常不需要将其设置为超过一百个。-t [num]
:设置Siege运行的时间限制。Siege识别相关单位修饰符,s
代表秒,m
代表分钟,h
代表小时。数字和修饰符之间不应有空格(-t10s
不是-t10 s
)。-d [num]
:为单个Siege用户设置延时。每个用户可以在1和设定数之间延时一个随机的秒数,默认值为3。-i
:与URL文件一起使用,这可以让单个用户随机访问其中一个URL,而不带有预设模式。类似于现实生活中的访问('i'代表“internet网络”),你不知道网站访问者去哪里,而且并不是所有的网页都可能被点击。-v
:详细输出。这将实时输出Siege在打印最终结果之前的所获得的结果。-f [file]
:使用包含URL列表并且非默认urls.txt
的文件运行Siege 。-g [url]
:形成HTTP头下拉清单。-l
:生成日志文件。-m "[message]"
:在日志文件中包含一条指定消息。-C
:输出Siege的当前配置文件。-V
:输出Siege的版本信息。-h
:输出帮助信息。有关此主题的其他信息,您可以参考以下资源。虽然我们希望提供的资源是可用的,但请注意,我们无法保证外部托管材料的准确性或及时性。