Apache Bench - 概述

事实证明,性能测试对于企业的成功至关重要.表现不佳的网站不仅会面临财务损失,有时也会导致法律上的影响.

没有人愿意在重要的在线互动中忍受性能低下,不可靠的网站作为购买,在线考试,账单支付等.随着互联网的广泛应用,替代品的范围是巨大的.失去客户比获得客户更容易,性能是关键的游戏规则改变者.

需要负载测试工具

如果我们能理解什么是否需要负载测试工具,它将为我们提供使用它的理由和动力.一些着名的商业网站在吸引大量访客时遭遇严重停工.电子商务网站在广告活动中投入巨资,但在负载测试中却没有.因此,当营销带来流量时,它们无法确保最佳系统性能.

忽略负载测试的另一个熟悉的例子是WordPress网站中的"建立连接错误".因此,在部署到生产环境之前加载测试网站或应用程序是个好主意.在开始进行更详细的测试之前,快速建立项目的最佳案例是很好的.

什么是Apache Bench?

Apache Bench(ab)是Apache组织用于对超文本传输协议(HTTP)Web服务器进行基准测试的工具.虽然它旨在衡量Apache Web服务器的性能,但它也可用于测试同样优秀的任何其他Web服务器.使用此工具,您可以快速了解您的Web服务器每秒可以提供多少请求.

Apache Bench的功能

让我们看看Apache Bench的重要特性和局限性.功能和限制列在下面和下面;

  • 作为一个开源软件,它是免费提供的.

  • 这是一个简单的命令行计算机程序.

  • 这是一个独立于平台的工具.这意味着它可以在Linux/Unix或Windows服务器上同样好地调用.

  • 它只能对Web服务器进行负载和性能测试 -  HTTP或HTTPS.

  • 它不可扩展.

Apache Bench不使用并发级别(由-c标志指定),仅使用一个操作系统线程.因此,在对高容量服务器进行基准测试时,Apache Bench的单个实例本身就是一个瓶颈.要完全饱和目标URL,最好并行使用Apache Bench的其他实例,如果您的服务器有多个处理器核心.

预防措施

您需要注意Apache Bench中没有指令在运行测试时增加特定时间间隔的并发性.因此,使用ab运行负载测试相当于拒绝服务(DOS)攻击.如果您要长时间进行重负载测试,建议您通知VPS服务提供商并事先获得许可.他们将为您分配一个适当的时间间隔或转移您的节点以进行负载测试任务.

其次,如果您持续测试第三人的网站并且长时间只是为了学习Apache Bench从您的VPS(成为测试节点),您的VPS公共IP可能会被第三方网站永久阻止.在这种情况下,您将无法使用相同的IP连接到该网站.但是,如果您真的希望将来连接到该网站,唯一的解决方案是与目标网站的系统管理员交谈,或者在VPS服务提供商的帮助下使用不同的IP创建服务器的新实例.

在向您发出警告后,请允许我向您保证本教程中的所有测试都足够安全,而且系统管理员通常称之为"系统滥用"做法.