- Apache Bench 教程
- Apache Bench - 首页
- Apache Bench - 概述
- Apache Bench - 环境设置
- 测试我们的示例应用程序
- 并发测试多个URL
- 动态页面测试准备
- 动态页面的顺序测试用例
- 输出比较
- Apache Bench 有用资源
- Apache Bench - 快速指南
- Apache Bench - 有用资源
- Apache Bench - 讨论
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 地址的新服务器实例。
在警告您之后,请让我向您保证,本教程中的所有测试都足够安全,并且超出了系统管理员通常所说的“系统滥用”行为。