前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Web服务器压力测试工具Siege

Web服务器压力测试工具Siege

作者头像
PantaZheng
发布2018-09-05 14:55:24
8K0
发布2018-09-05 14:55:24

Siege是一款HTTP压力测试和基准测试的实用工具,可用于在压力条件下对Web服务器的性能进行测量。它的评估依据包括传输数据量、服务器的响应时间、事务处理速率、吞吐量、并发性和程序正常返回的时间。Siege提供三种操作模式:回归测试,网络模拟测试和暴力测试。

此指南针对Debian与Ubuntu系统。

下载并配置Siege

  1. 在安装任何新程序之前,首先请更新您的系统: sudo apt-get update && sudo apt-get upgrade --show-upgraded
  2. 下载最新版本的Siege(此文发布时其最新版本为3.0.9),其最新该版本始终可在Siege网站上找到: wget http://download.joedog.org/siege/siege-latest.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个并发用户。请设置日志文件的位置。请务必通过删除井号(#)来取消下面注释中的变量以及您想使用的其他设置:
代码语言:txt
复制
...

        #
        # 变量声明。你可以在此处设置
        # 下方指令中所使用的变量。举例:
        # 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

在默认设置下运行Siege,请输入下面的命令,并将www.example.com替换为您的域名或IP地址:

siege www.example.com

Siege程序的输出结果:

代码语言:txt
复制
** 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%,则通过压力测试。

进一步的配置和命令

创建URL文件

如果您希望Siege随机访问您网站上的多个页面,请将程序配置为从列出选定页面的urls.txt文件中读取。

  1. 打开通常创建在/usr/local/etc/urls.txt位置的urls.txt文件。向该文件添加URL或IP地址的表单:
  2. 使用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:输出帮助信息。

更多信息

有关此主题的其他信息,您可以参考以下资源。虽然我们希望提供的资源是可用的,但请注意,我们无法保证外部托管材料的准确性或及时性。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 下载并配置Siege
  • 运行Siege
  • 进一步的配置和命令
    • 创建URL文件
      • 命令解析
      • 更多信息
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档