压测利器 Apache Bench:快速上手,服务器性能一测就“露馅”!
时间:2025-11-26 22:59:46 出处:IT资讯阅读(143)
理论上 QA 需要在测试用例中覆盖性能验证,露馅但现实情况往往是压测:一旦线上出问题 ,开发 、利器测试 、速上手服运维一个都跑不了 。露馅
所以 ,压测作为开发同学,利器给自己的速上手服开发机装个压测工具并不多余 。除了大家熟悉的露馅 JMeter,本篇要介绍一款小巧高效的压测命令行工具 —— Apache Bench(简称 ab) 。它没有复杂的利器 GUI,却能精准揭示服务器在压力下的源码库速上手服表现 ,轻量 、露馅直接、压测开箱即用 ,利器是开发者压测的“入门必修课”。
Apache Bench 是什么
Apache Bench(ab)是 Apache HTTP Server 项目自带的一个压力测试工具 ,主要用于评估 Web 服务器在不同负载下的响应能力 。它的优势在于:
命令行即开即用:一条命令就能让服务器“压力山大” 。全方位指标输出:响应时间、亿华云吞吐量 、失败请求数 、分布统计等 ,一目了然。轻量便携:无需复杂配置 ,也不用安装额外依赖。换句话说,运维要做容量规划,测试要找瓶颈,开发要验证优化效果,ab 都是随手能掏出来的“小钢炮” 。
安装方式
安装 ab 的方式因系统不同而异 ,常见操作系统的建站模板安装方式如下 :
Linux (Debian/Ubuntu)sudo apt-get install apache2-utilsLinux (CentOS/RHEL)sudo yum install httpd-tools # 或者 dnfmacOS 一般系统自带,直接执行 : ab -V如果提示未找到 ,可以用 Homebrew:
brew install apache2-utils1. Windows 建议在 WSL 环境下运行,或者在 Apache HTTP Server 的 /bin 目录下找到 ab.exe。安装完成后,在任何目录下执行 ab -V 能看到版本号,就说明准备就绪了 。
入门示例:压测 GET 接口
假设我们在本地 Spring Boot 项目 /project/demo 下写了一个简单接口:
package com.icoderoad.demo.controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; @RestController public class DemoController { @GetMapping("/demo") public String demo() { return "this is a demo"; } }启动项目后 ,我们用 ab 执行压测:
复制ab-n1000-c100 http://localhost:8080/demo1. -n 1000 :一共发起 1000 个请求。-c 100 :模拟 100 个并发用户。http://localhost:8080/demo :目标地址。运行后,ab 会输出一份完整报告 ,包括请求成功数 、失败数 、云计算QPS(每秒请求数) 、响应耗时 、分位数分布等。比如 Requests per second: 120.50 [#/sec] 就直观地告诉你 :服务器每秒能处理多少请求