以下是英文原文的中文翻译:
围攻
什么是它?
Siege是一个开源的回归测试和基准实用程序。它可以以用户定义的模拟用户数量对单个URL进行压力测试,也可以将多个URL读入内存并同时对其进行压力测试。该程序报告记录的总点击次数、传输的字节数、响应时间、并发性和返回状态。Siege支持HTTP/1.0和1.1协议、GET和POST指令、cookies、事务日志记录和基本身份验证。其功能可根据每个用户进行配置。
大部分功能都可通过命令行选项进行配置,其中还包括默认值,以最大程度减少程序调用的复杂性。Siege允许你用n个用户点击t次来压力测试Web服务器,其中n和t由用户定义。它记录测试的持续时间以及每个单独事务的持续时间。它报告事务次数、经过时间、传输的字节数、响应时间、事务率、并发性以及服务器响应OK(即状态代码200)的次数。
Siege是由Jeffrey Fulmer在担任Armstrong World Industries网管的职位时设计和实现的。它部分建模于Lincoln Stein的torture.pl,其数据报告几乎完全相同。但torture.pl不允许同时对多个URL进行压力测试,出于这种需求而诞生了Siege...
当HTTP服务器被该程序击中时,就被称为"受到围攻"。
为什么我需要它?
Siege是为Web开发人员和Web系统管理员编写的。它允许这些个人在压力下测试他们的程序和系统。作为Web专业人士,您负责产品的完整性,但您无法控制谁访问它。流量峰值可能会随时发生。你如何知道自己是否做好了准备?
Siege将使您能够使这些程序承受压力,让您更好地了解它们可以承受的负载。知道您的网站可以承受400个同时事务的重量,而您的网站目前的峰值只有250个,您将睡得更好。
事务是由服务器为客户端打开套接字、处理请求、在线传输数据并在完成后关闭套接字来特征化的。需要注意的是,人类互联网用户需要时间来消化返回给他们的数据。Siege用户不需要。在实践中,我发现400个同时的Siege用户至少相当于实际互联网会话的五倍。这就是为什么Siege允许您设置延迟(--delay=NUM)。设置后,每个Siege用户会在1和NUM之间睡眠一个随机的秒数。通过您的服务器日志,您应该能获得每个页面的平均停留时间。在模拟互联网活动时,建议您使用该数字作为延迟。
在哪里找到它?
最新版本的Siege可通过匿名FTP获取: http://download.joedog.org/siege/siege-latest.tar.gz
源代码仓库位于GitHub: git clone https://github.com/JoeDog/siege.git
您可以在浏览器中查看: https://github.com/JoeDog/siege
更新和公告通过JoeDog发布: http://www.joedog.org/
安装
Siege是使用GNU autoconf构建的。如果您熟悉GNU软件,那么您应该能够舒适地安装Siege。请参阅文件INSTALL了解更多详细信息。
先决条件
要启用HTTPS支持,必须在系统上安装openssl和openssl-devel。
要启用gzip传输编码,需要在系统上安装zlib和zlib-devel。
所有先决条件必须在编译时安装。如果您在Siege编译后添加了这些库,您将必须再次运行./configure、make和make install。
Siege的先决条件不是依赖项。如果这些库不存在,应用程序仍将编译和运行。它只是不会包含这些功能。
文档
文档可在手册页siege(1)和layingsiege(1)中获得。本发行版附带有HTML手册:manual.html
您可以在www.joedog.org找到Siege的完整文档。
许可证
有关完整的许可信息,请查阅文件COPYING。
2000-2023年由Jeffrey Fulmer jeff@joedog.org版权所有
任何人都可以制作或分发本文档的逐字复制件,无论采用何种介质,只要保留版权声明和此许可声明,从而允许收件人继续重新分发。
允许分发本文档或其部分的修改版本,只要满足上述条件,并且它们还显著地声明了最后一次更改者。
此外,作为一种特殊的例外,版权所有者允许将该程序的部分代码与OpenSSL库链接,前提是遵守每个单独源文件中描述的某些条件,并分发包括这两者的链接组合。
您必须遵守GNU通用公共许可证的所有规定,用于OpenSSL以外的所有代码。如果您修改了带有此异常的文件(s),您可以将此异常扩展到文件(s)的您的版本,但您没有义务这样做。如果您不想这样做,请从您的版本中删除此异常声明。如果您从程序的所有源文件中删除此异常声明,那么也请在此处删除它。