Apache Bench – 概述
Apache Bench – 概述
性能测试已被证明对企业的成功至关重要。表现不佳的网站不仅会面临经济损失,有时还会导致法律后果。
没有人愿意在重要的在线交互(例如购买、在线考试、账单支付等)中忍受一个性能缓慢、不可靠的站点。随着 Internet 的普及,替代方案的范围是巨大的。失去客户比获得客户更容易,而绩效是关键的游戏规则改变者。
需要负载测试工具
如果我们能理解什么是负载测试工具的需求,它就会给我们使用它的理由和动力。一些著名的商业网站在访问量大时遭受了严重的停机。电子商务网站大量投资于广告活动,但未投资于负载测试。因此,当营销带来流量时,他们无法确保最佳系统性能。
另一个常见的忽略负载测试的例子是 WordPress 网站中的“错误建立连接”。因此,最好在将网站或应用程序部署到生产环境之前对其进行负载测试。在进行更详细的测试之前,快速为项目建立最佳情况是很好的。
什么是 Apache 工作台?
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 的服务器的新实例。
警告过您之后,让我向您保证,本教程中的所有测试都足够安全,并且不属于系统管理员通常所说的“系统滥用”做法。