使用 Siege(基准测试工具)在您的 Web 服务器上进行负载测试

了解 Web 服务器在压力下可以处理多少流量对于未来的规划至关重要。 作为开发人员和 IT 专业人员,负载测试是确定网站和基础架构容量的最关键任务。 当今有许多负载测试工具可用,例如 jMeter、gatling、Apache bench、Siege 等。在本文中,我们将学习如何使用 siege 来测试 Web 服务器上的负载。

Siege 是流行的 HTTP 负载测试和基准测试实用工具之一,用于测量 Web 服务器在压力下的性能。 它可用于评估 Web 服务器的响应时间、事务率、传输的数据、并发性和吞吐量。

安装 Siege 负载测试工具

siege 基准测试工具的安装是一个简单易行的过程。 按照以下步骤在 Linux 系统中安装实用工具。

Ubuntu/Debian

$ apt install siege

RHEL/CentOS

$ yum install epel-release

$ yum install siege

从源代码安装

如果您想在 Linux 系统中编译源代码并安装应用程序,请按照以下步骤操作。

安装 build-essential 和 development 包来构建源代码。

$ apt install build-essential [Ubuntu/Debian]

$ yum install groupinstall ‘Development Tools’ [CentOS/RHEL]

使用 wget 命令下载 siege 源代码。

$ wget https://download.joedog.org/siege/siege-latest.tar.gz

使用 tar 命令提取源代码

$ tar -xvzf siege-latest.tar.gz

使用以下命令构建应用程序。

$ cd siege-*/

$ ./configure --prefix=/usr/local --with-ssl=/usr/bin/openssl

$ make && make install

配置 Siege 负载测试工具

安装完成后,现在我们需要调整攻城配置。 如果您已从源代码构建包,请运行以下命令。

$ siege.config

输出:

配置文件位于用户的主目录~/.siege/siege.conf。 使用以下命令查找配置文件的内容。

$ cat siege.conf | egrep -v “^$|#”

使用当前配置,将启动 25 个并发用户来测试 Web 服务器上的负载。

使用 Siege 工具测试网站负载测试

使用围攻非常简单易行。 只需指定网站的名称并运行命令:

$ siege linuxways.com

输出:

在这个 example, 5 个并发用户正在使用 1 分钟。 如果可用性保持 100% 且没有任何连接问题,则 Web 服务器状况良好。 还要注意响应时间和成功事务,以评估 Web 服务器处理流量的能力。

在多个网站上进行负载测试

有时您可能需要一次对多个 URL 运行负载测试。 为此,创建一个包含 url 的文本文件并执行 siege 命令,将文件名指定为:

$ cat urls.txt

$ siege -f /root/urls.txt

输出:

Siege 提供了许多命令行选项以在执行负载测试时使用不同的设置。

-c – 并发用户数

-b – 请求之间没有延迟

-l – 日志文件

-H – 添加请求头

-r – 运行测试的时间

-f – 从指定文件测试 URL

-t – 运行测试的时间

结论

在本文中,我们学习了如何使用 siege 基准测试工具测试 Web 服务器中的负载。 我还介绍了如何使用 siege 基准测试工具在创建 url 文件的多个网站上测试负载。