我就是奇迹

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

怎么高并发测试呢?

🔥 高并发测试是检验你系统(比如 Spring Boot 接口、Redis、MySQL 等)在大流量下稳定性的重要手段。

 

下面我给你一套 从入门到实战的高并发测试方法,适合自己开发的接口压测、API网关、Redis缓存、数据库吞吐能力验证等场景。

 


 

 

✅ 一、常用高并发测试工具

 

工具名

特点

适用场景

Apache JMeter

✅ 可视化界面,功能全面

HTTP、数据库、MQ 等

wrk

✅ 超快压测利器,支持 Lua 脚本

HTTP 接口压测,轻量极致

ab (ApacheBench)

简单快速,适合单接口测试

本地 API 快速压测

locust

Python 编写,支持行为模拟

Web 接口、多用户模拟

Gatling

Scala 编写,脚本自动生成

面向性能报告

 

 


 

 

✅ 二、快速压测示例(针对 Spring Boot 接口)

 

 

假设你有个接口:

GET http://localhost:8080/api/order

 

 


 

 

✅ 方法一:用 

ab

 快速压测(系统内置,无需安装)

 

ab -n 10000 -c 200 http://localhost:8080/api/order

含义:

 

  • -n 10000:总共发 10000 个请求

  • -c 200:同时并发 200 个请求

 

 

📌 适合:简单测试吞吐量、响应时间、失败率

 


 

 

✅ 方法二:用 

wrk

 进行强压测试(推荐)

 

 

安装(macOS):

brew install wrk

压测:

wrk -t4 -c200 -d30s http://localhost:8080/api/order

含义:

 

  • -t4:4 个线程

  • -c200:并发 200 连接

  • -d30s:压测 30 秒

 

 

📌 wrk 更贴近真实高并发环境,吞吐超高。

 


 

 

✅ 方法三:用 

JMeter

 可视化压测

 

 

  1. 下载 JMeter:https://jmeter.apache.org/

  2. 打开 GUI,添加线程组 → HTTP 请求 → 设置接口地址

  3. 设置线程数(用户数)、循环次数(请求数)

  4. 启动压测 → 查看结果图表(吞吐量、响应时间、错误率)

 

 

📌 适合团队测试 / 带 UI 的可视化需求

 


 

 

✅ 三、压测过程中你要观察哪些指标?

 

关键指标

说明

QPS(吞吐量)

每秒处理多少请求

响应时间(RT)

平均响应时长,P95/P99 最重要

错误率

HTTP 500/timeout 占比

系统负载

CPU、内存、线程池、GC 情况

后端瓶颈

Redis、MySQL、MQ 是否成为瓶颈

 

 


 

 

✅ 四、如果你是做微服务,还要加上:

 

 

  • 网关限流配置(比如 Nginx/Spring Cloud Gateway)

  • 接口熔断降级(Sentinel)

  • 缓存命中率分析(Caffeine、Redis)

  • 数据库连接池配置(Hikari 最大连接、连接超时)

 

 


 

 

✅ 五、开发者压测快速 checklist ✅

 

 

  • 是否配置了多线程/高并发连接池(Tomcat、HikariCP)

  • 是否打开了 Spring Boot 的 actuator 监控

  • 是否设置了超时限制、重试、异常捕获

  • 是否用了缓存(Caffeine、Redis)减轻 DB 压力

  • 是否使用异步处理(@Async、线程池、MQ)

  

posted on 2025-04-22 16:50  我就是奇迹  阅读(633)  评论(0)    收藏  举报