您了解Siege吗?本文为您介绍Web服务器负载测试工具Siege,希望对您有所帮助。
Siege简介
Siege是一款基准测试和负载测试藈,可用于测量网站服务器在面临巨大压力下的性能。Siege可以执行下列测试:
•传输的数据量。
•服务器的响应时间。
•传输速率。
•吞吐量。
•并发性。
•程序返回OK的次数。
Siege提供了三种操作模式:
•递归。
•互联网模拟。
•蛮力。
注意:本文仅针对Debian和Ubuntu服务器。
1: 在安装任何新程序之前,先更新你的服务器:
sudo apt-get update && sudo apt-get upgrade --show-upgraded
2: 从Siege的官方网站下载***版本的Siege:
wget http://download.joedog.org/siege/siege-3.1.0.tar.gz
3: 对文件进行解压缩:
tar -zxvf siege-latest.tar.gz
4: 进入到Siege目录:
cd siege-*/
5: 在配置之前,要是GNU编译器库(gcc)还没有安装,立即安装它:
sudo apt-get install build-essential
6: 配置和完成安装过程:
./configure
make
sudo make install
7: 生成配置文件:
siege.config
8: 之后,打开位于主目录下的.siegerc文件。
9: 默认情况下,Siege配置建议在1分钟的时间段内支持25个并发用户。为你的日志文件选择一个位置。去掉下面所示的变量前面的注释;另外你想要其他任何的注释设置,别忘了去掉井字号(#):
…
#
# 变量声明。你可以在此设置变量
# 用于下列指令。例子:
# PROXY = proxy.joedog.org
# ${}或$()里面的参考变量,例子:
# proxy-host = ${PROXY}
# 你还可以引用ENVIRONMENT变量,
# 不用实际声明变量,例子:
logfile = $(HOME)/siege.log
…
#
# 模拟并发用户的默认数量
# ex: concurrent = 25
#
concurrent = 25
#
# siege的默认持续时间。右边变量有一个修饰符
# 指定了时间单位,H=小时,M=分钟和S=秒钟。
# 如果修饰符未加以指定,那么假设时间单位是分钟。
# ex: time = 50M
#
time = 1M
如何运行Siege?
终于,现在你可以随时运行Siege了!
想运行Siege,输入下面这个命令,把www.example.com换成你的IP地址或域名。
siege www.example.com
输出结果
** 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
You can disable this annoying message by editing
the .siegerc file in your home directory; change
the directive 'show-logfile' to false.
Siege的命令和进一步配置
如果可用性仍保持100%,也没有失效连接,那么这表明你没有遇到任何问题。
URL文件创建
如果你想要测试网站数量,可以配置该工具,从urls.txt读取。
1: 打开位于/usr/local/etc/urls.txt处的urls.txt文件。为该文件添加域名、页面或IP地址。
# 需要siege的URLS文件
# --
# 用下列任何一种格式对URL条目进行格式化:
# http://www.whoohoo.com/index.html
# http://www/index.html
# www/index.html
# http://www.whoohoo.com/cgi-bin/howto/display.cgi?1013
# 为需要它的页面使用POST指令:
# http://www.whoohoo.com/cgi-bin/haha.cgi POST ha=1&ho=2
# 或者POST来自文件的内容:
# http://www.whoohoo.com/melvin.jsp POST
# http://www.whoohoo.com/melvin.jsp POST <./haha
# 你还可以设置和引用该文件里面的变量,
# 想了解更多信息,参阅urls_txt
# -------------------------------------------------------
www.example.com
www.example.org
321.54.13.98
2: 想使用上述文件来运行Siege,输入下面这个命令siege。
siege
3: 想换个文件,输入下面这个命令。
siege -f your/file/path.txt
想了解关于Siege及其命令的更多信息,请访问官方网站:https://www.joedog.org/siege-home/。
原文标题:Web Server Load Testing Tool: Siege