如何使用 Siege 对网站负载进行基准测试和测试

基准测试对于任何网站管理员衡量和测试网站或 Web 应用程序的性能都是必不可少的。 它将让我们了解传输的数据量、事务率、吞吐量和并发性。 此信息将帮助我们提高网站速度并发展我们的网站。

市场上有很多基准测试工具。 Siege 是一个免费的、开源的、跨平台的 HTTP 负载测试和基准测试工具,可用于测量我们网站的速度并提供性能摘要。

在这篇文章中,我们将解释如何安装和使用 Siege 来测试我们网站的速度。

先决条件

  • 云平台上的全新 Ubuntu 20.04 服务器
  • 在我们的服务器上配置的 root 密码

第 1 步 – 创建 云服务器

首先,登录到我们的 云服务器。 创建一个新服务器,选择 Ubuntu 20.04 作为至少 4GB RAM 的操作系统。 通过 SSH 连接到我们的云服务器并使用页面顶部突出显示的凭据登录。

登录到 Ubuntu 20.04 服务器后,运行以下命令以使用最新的可用软件包更新基本系统。

apt-get update -y

安装胜利

在本节中,我们将向我们展示 Debian 和基于 RPM 的发行版上安装 Siege。

对于 Debian 和 Ubuntu 操作系统,使用以下命令安装 Siege:

apt-get install siege -y

对于 RHEL、CentOS 和 Fedora 操作系统,使用以下命令安装 Siege:

yum install epel-release -y
yum install siege -y

安装 Siege 后,使用以下命令验证已安装的 Siege 版本:

siege --version

我们应该得到以下输出:

SIEGE 4.0.4

Copyright (C) 2017 by Jeffrey Fulmer, et al.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE.

基本语法

Siege 命令的基本语法如下所示:

siege [option] website-name

每个选项的简要说明如下所示:

  • -v:启用详细模式。
  • -c:指定并发用户数。
  • -t:指定围攻运行的时间限制。
  • -d:指定每个 Siege 用户的延迟。
  • -f:指定包含网站列表的文件。
  • -i:用于生成日志文件。
  • -r:定义运行测试的次数。
  • -A:定义一个用户代理。

配置围攻

Siege 配置文件位于 /etc/siege/siegerc。 我们将需要对其进行编辑并定义日志的路径。

nano /etc/siege/siegerc

找到以下行:

logfile = $(HOME)/var/log/siege.log

将其替换为以下行:

logfile = /var/log/siege.log

完成后保存并关闭文件。

使用 Siege 执行负载测试

在本节中,我们将向我们展示如何对单个网站和多个网站执行负载测试。

测试单个网站

让我们通过模拟 10 个用户(请求之间的延迟最长为 10 秒)来测试网站 www.example.com。

siege -c10 -d10 -r1 -v www.example.com

我们应该看到以下输出:

** SIEGE 3.0.5
** Preparing 10 concurrent users for battle.
The server is now under siege...
HTTP/1.1 200   0.00 secs:    3256 bytes ==> GET  /
HTTP/1.1 200   0.01 secs:    3256 bytes ==> GET  /
HTTP/1.1 200   0.01 secs:    3256 bytes ==> GET  /
HTTP/1.1 200   0.00 secs:    3256 bytes ==> GET  /
HTTP/1.1 200   0.00 secs:    3256 bytes ==> GET  /
HTTP/1.1 200   0.01 secs:    3256 bytes ==> GET  /
HTTP/1.1 200   0.01 secs:    3256 bytes ==> GET  /
HTTP/1.1 200   0.01 secs:    3256 bytes ==> GET  /
HTTP/1.1 200   0.01 secs:    3256 bytes ==> GET  /
HTTP/1.1 200   0.01 secs:    3256 bytes ==> GET  /
done.

Transactions:		          10 hits
Availability:		      100.00 %
Elapsed time:		        8.01 secs
Data transferred:	        0.03 MB
Response time:		        0.01 secs
Transaction rate:	        1.25 trans/sec
Throughput:		        0.00 MB/sec
Concurrency:		        0.01
Successful transactions:          10
Failed transactions:	           0
Longest transaction:	        0.01
Shortest transaction:	        0.00

测试多个网站

Siege 还允许我们一次测试多个网站。 在这种情况下,我们需要在 /etc/siege/urls.txt 文件中定义所有网站名称、URL 或 IP:

nano /etc/siege/urls.txt

添加以下行:

www.atlantic.net
https://google.com
172.16.0.123

保存并关闭文件。

接下来,测试 urls.txt 文件中定义的所有网站的负载运行以下命令:

siege -c10 -d10 -r1 -v -f /etc/siege/urls.txt

在本指南中,我们学习了如何安装和使用 Siege 工具对我们的网站进行基准测试和负载测试。 我希望这将为我们提供足够的信息来了解我们的网站性能 – 在 的专用主机上尝试一下。

© 版权声明
THE END
喜欢就支持一下吧
点赞10 分享
评论 抢沙发

请登录后发表评论