如何使用基准对网站进行基准测试 Apache 长椅

什么是 Apache 长椅?

Apache Bench 是一个基准测试工具,包含在 Apache 网络服务器软件。 它旨在提供一个印象,让我们了解我们的 Apache 安装将在不同的情况下执行。 具体来说,它向我们展示了我们每秒有多少请求 Apache 安装可以服务。

为什么基准测试很重要?

对网站进行基准测试定义了它相对于类似网站的表现。 它突出了我们可以改进和利用的领域,提供有关提高网站性能的最有效方法的信息。 使用执行分析 Apache Bench 有助于保持我们的网站在满足我们市场部门的最佳实践方面的竞争力。 它提供了帮助改进问题的关键指标,使我们能够识别可能需要更改的功能、流程和配置。 通过这种方式,我们可以制定可行的既定目标解决方案,以提高我们的整体用户参与度和转化率。

基准测试与负载测试

正如我们所定义的,基准测试是测试 Web 服务器或网站,以期达到特定目标。 在这种情况下,我们设置了我们想要满足的参数,然后评估这些因素在预定的压力下如何响应。 负载测试意味着将我们的应用程序或服务器置于重负载下以确定其响应。

什么是关键绩效指标?

以下关键性能指标定义了我们的网站或应用程序如何将信息传递给最终用户。 通常,我们应该使用五到十个具体指标来确定我们的目标。 应提前讨论这些指标,并为最有利的结果制定计划。 每个企业都需要选择他们的具体目标,因为所有企业在这方面都会有所不同。 我们可以将这些指标分为两个主要领域:应用程序基准测试和硬件基准测试。

应用程序基准

这些指标与我们的应用程序在服务器上的执行方式特别相关。 这些与与以下应用程序基准相关的下一组指标直接相关。

  • 正常运行时间
  • 每秒请求数
  • 每秒字节数
  • 每个请求的字节数
  • 平均响应时间
  • 峰值响应时间
  • 整页加载时间
  • 内容加载时间
  • 用户参与
  • 安全与合规

硬件基准

硬件基准测试主要依赖于服务器的资源和这些资产的相关配置。 应用程序的功能主要取决于这些组件和设置。 确保运行它们的硬件和软件功能对于实现可靠性和正常运行时间至关重要。

  • 加载
  • 内存利用率
  • CPU 利用率
  • 线程数
  • 网络带宽
  • 磁盘使用情况
  • 打开文件描述符
  • 错误率
  • 可用性

特征

的一些特点 Apache Bench 包括以下产品和功能。

  • Apache Bench 是开源软件。
  • 它是一个基本的命令行计算机程序。
  • Apache Bench 独立于平台,这意味着它可以在 Windows、macOS 或 Linux/Unix 环境中使用。
  • 它允许通过 HTTP 或 HTTPS 进行负载和性能测试。

先决条件

用户应该对以下 Web 服务器技术有充分的了解。 此外,确定基线应该是一个优先事项。

  • 命令行界面 (CLI)
  • HTTP
  • 文本编辑器
  • 网络服务器功能
  • 正在测试的服务器上的基线配置设置,包含以下信息:
    • 服务器不应在 CDN 后面运行
    • 识别或暂停缓存选项
    • 在几天/几小时内运行平均延迟检查
    • 使用最低延迟平均值进行测试
    • 识别所有 Apache 和正在使用的 PHP 模块
    • 从少量的 http 连接开始,然后进行处理
    • 使用相同数量的工人
    • 启用保活
    • 关闭调试日志
    • 针对大小相似的三种不同文件类型运行测试
      • 测试.php
      • 测试.png
      • 测试.html
    • 针对每种文件类型运行测试命令,例如
      ab -kc 1000 -n 10000 https://domain.con/test.php
      ab -kc 1000 -n 10000 https://domain.con/test.png
      ab -kc 1000 -n 10000 https://domain.con/test.html
  • 设置失败条件

我们将需要有关这些工具的信息,以成功完成和了解应用所需的使用、输出和后期配置设置 Apache 负载测试后的工作台。

安装

这 Apache Bench 命令行工具与 apache 或 apache2-utils 软件包捆绑在一起。 什么时候 Apache 安装在我们的服务器上,ab 命令将可用于对网站进行基准测试。 要安装 ab,请运行以下命令。

Apache Bench 现在应该在 CentOS 上的 /bin/ab 或 Ubuntu 上的 /usr/bin/ab 中可用。

验证安装

要验证 ab 的安装,请运行以下命令。

检查状态

要验证 apache 的状态,请键入以下命令。

Apache 基准语法

要运行基本的 ab 命令,只需要测试 Web 服务器的 IP 地址,然后是 /. 然后将单个请求发送到服务器的 IP 地址。

ab <OPTIONS> <IP_ADDRESS>/<PATH>

注意:URL 后面必须有斜杠“/”,否则我们会收到错误消息 ab: invalid URL.

下面,我们对 Google 的一台服务器运行了一个快速的 ab 命令。 如您所见,该命令的输出提供了不同数量的输出。

这是对信息输出的更深入了解 Apache 长椅。

  • 服务器软件: 返回带有 Web 服务器名称的 HTTP 标头。
  • 服务器主机名: 返回命令中给出的 DNS 或 IP 地址。
  • 服务器端口:ab 使用的连接端口——ab 命令默认为 http 的端口 80 和 HTTPS 的端口 443。
  • 文档路径: 这是从命令行字符串解析的请求 URL。
  • 文件长度: 第一个成功返回的文档的字节大小。
  • 并发级别: 测试期间使用的并发客户端数。
  • 测试时间: 执行测试所用的总时间。
  • 完成请求:收到的成功响应总数。
  • 失败的请求: 失败的请求总数。
  • 转让总额: 从网络服务器接收的字节总数。
  • 传输的 HTML: 从服务器接收的文档字节总数。
  • 每秒请求数: 每秒的请求总数。
  • 每个请求的时间: 这是每个请求花费的平均时间。
  • 传输率: 使用公式 totalread/1024/timetaken 计算的传输速率。

所有的完整列表 Apache 长凳选项 可在 Apache的网站。

Apache 工作台示例

示例 1

此命令将同时创建 100 个与您的服务器的连接,其中一个并发级别为 10 个连接。

示例 2

在上述 example,我们利用多个标志以 100 个批次推送 1000 个请求,同时使用保活功能。 参数说明如下。

  • -n:为基准测试会话执行的请求数。
  • -c:一次执行的多个请求数。
  • -k:启用 HTTP KeepAlive 功能。
  • -H:自定义标题。

示例 3

此命令将测试结果输出到 .csv 文件,然后可以将其导入 Google 表格或其他电子表格应用程序。 这允许在几天甚至几周内进行更好的测试。

示例 4

在这个 example, Apache Bench 还可以测试 Java 应用程序的可用性。

示例 5

在这里,我们可以测试端口 9500 上 API 连接的基本可用性。

限制

典型的限制或考虑 Apache 板凳包括以下注意事项。

  • 测试服务器所有者的同意(因为测试可能被解释为 DDOS 攻击)。
  • 防火墙阻止(被测试的服务器应暂时将防火墙中的测试服务器列入白名单)。
  • 如果过度使用,网络饱和问题。
  • 不同的地理位置。
  • 服务器之间的距离。
  • 路由拥塞或延迟。

结论

Apache Bench 是一个有用的、功能丰富的命令,它允许我们测试网站处理各种流量的能力。 它有一个 大量选项 可用于实施,这允许进行测试的多种场景。 还有许多其他测试解决方案可用于评估我们的能力。

我们以成为 Hosting™ 中最有帮助的人而自豪!

我们的支持团队由经验丰富的 Linux 技术人员和才华横溢的系统管理员组成,他们精通多种网络托管技术,包括本文中讨论的技术。

如果您对此信息有任何疑问,我们将始终每天 24 小时、每周 7 天、每年 365 天回答任何与本文相关的问题。

如果您是完全托管的 VPS 服务器, Cloud 专用,VMWare 私有 Cloud私有父服务器, 托管 Cloud 服务器或专用服务器所有者并且您对执行概述的任何步骤感到不舒服,可以通过电话 800.580.4985 联系我们, 聊天,或支持票以帮助您完成此过程。