📜  Apache Bench-概述

📅  最后修改于: 2020-12-07 04:21:01             🧑  作者: Mango


事实证明,性能测试对于企业的成功至关重要。表现不佳的网站不仅会遭受经济损失,而且有时还会导致法律后果。

没有人愿意在重要的在线互动中(例如购买,在线考试,账单支付等)忍受性能低下,不可靠的网站。随着Internet的广泛普及,替代方案的范围非常广泛。失去客户比获得客户更容易,而绩效是改变游戏规则的关键。

需要负载测试工具

如果我们能够了解对负载测试工具的需求,它将为我们提供使用它的理由和动力。一些著名的商业网站在吸引大量访问者时遭受了严重的宕机。电子商务网站在广告活动上投入了大量资金,但在负载测试方面却没有投入。因此,当市场营销带来流量时,它们无法确保最佳的系统性能。

另一个忽略负载测试的熟悉示例是WordPress网站中的“错误建立连接”示例。因此,最好在网站或应用程序在生产中部署之前对其进行负载测试。最好在接下来进行更详细的测试之前,为项目快速建立一个最佳方案。

什么是Apache Bench?

Apache Bench(ab)是Apache组织的工具,用于对超文本传输协议(HTTP)Web服务器进行基准测试。尽管它旨在衡量Apache Web服务器的性能,但它也可以用于测试其他同样出色的Web服务器。使用此工具,您可以快速知道您的Web服务器每秒可以处理多少个请求。

Apache Bench的功能

让我们看看Apache Bench的重要功能和局限性。功能和限制在下面列出-

  • 作为开源软件,它是免费提供的。

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

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

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

  • 它是不可扩展的。

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

预防

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

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

在警告您之后,让我向您保证,本教程中的所有测试都足够安全,并且不在系统管理员通常所说的“系统滥用”做法之列。