一、通用性能测试流程(Redis/Kafka/RocketMQ/Nginx 通用)

  1. 环境准备隔离测试环境、固定配置(CPU / 内存 / 磁盘 / 网络)、关闭无关进程、监控大盘就绪(CPU、内存、磁盘 IO、网卡、GC、连接数)。
  2. 压测场景设计基准场景、峰值场景、长稳场景、故障场景、极限并发场景。
  3. 压测工具选型
    • Redis:redis-benchmark、Lua 脚本、JMeter
    • Kafka/RocketMQ:JMeter、Go 压测脚本、MQ 自带压测命令
    • Nginx:ab、wrk、JMeter、Locust
  4. 梯度加压逐步加并发,找到拐点、瓶颈点、最大 TPS
  5. 指标采集业务指标 + 服务器资源指标 + 中间件自身指标。
  6. 瓶颈定位看 CPU / 内存 / 磁盘 / 网络 / 连接数 / 队列积压,逐层排查。
  7. 出具报告基准性能、峰值性能、长稳稳定性、瓶颈点、优化建议。

二、各中间件性能测试实操 & 指标标准

1、Redis 性能测试

自带命令直接压测

bash

运行

# 100并发、10万请求、测set/get
redis-benchmark -c 100 -n 100000 -t set,get
核心达标指标
  • QPS:常规单机 8W~15W+
  • 平均响应时间:< 1ms
  • 资源:CPU 使用率 <70%、无频繁内存换页
  • 长稳:连续压测 2 小时,无超时、无连接陡降、内存平稳
测试重点

读写性能、大 Key 性能、批量操作、过期淘汰、集群分片性能、持久化 RDB/AOF 对性能损耗。


2、Kafka 性能测试

压测命令

bash

运行

# 生产者压测
kafka-producer-perf-test.sh --topic test_topic --num-records 1000000 --record-size 1024 --throughput -1 --producer-props bootstrap.servers=127.0.0.1:9092

# 消费者压测
kafka-consumer-perf-test.sh --bootstrap-server 127.0.0.1:9092 --topic test_topic --messages 1000000
核心达标指标
  • 单分区生产 TPS:3000~8000
  • 多分区集群整体:10W+ TPS
  • 消息延迟:正常链路 <20ms
  • 堆积:峰值过后可快速消费完,不持续堆积
  • 资源:Broker CPU <75%,磁盘 IO 不打满
测试重点

分区数对并发影响、副本数性能损耗、消息大小(1K/10K/100K)、积压恢复、重启节点性能抖动。


3、RocketMQ 性能测试

核心达标指标
  • 单机单 Broker TPS:5W~10W+
  • 消息延迟:普通消息 <10ms,延时消息精度达标
  • 堆积能力:支持百万级消息堆积,消费恢复不丢不重
  • 集群主从切换:切换期间无消息丢失、短暂抖动可接受
测试重点

普通 / 延时 / 事务消息性能、集群扩容性能、重试队列积压、死信队列吞吐。


4、Nginx 性能测试

wrk 压测命令

bash

运行

wrk -c 100 -t 4 -d 60s http://127.0.0.1:8080/test
核心达标指标
  • 静态页面:单机 1W~3W QPS
  • 反向代理接口:5000~15000 QPS
  • 平均延迟:<50ms
  • 并发连接:支持万级长连接不丢包
  • 限流测试:达到阈值后精准限流、不雪崩
测试重点

负载均衡分发、限流阈值、SSL 性能损耗、动静分离、节点摘除 / 上线无影响。

三、性能测试必看监控指标(面试必问)

1、业务指标

TPS/QPS、平均响应时间、95/99 分位耗时、错误率、超时率。

2、服务器资源

CPU 使用率、内存使用率、磁盘 IO、网卡流量、TCP 连接数、TIME_WAIT 数量。

3、中间件独有指标

  • Redis:Key 总数、内存占用、客户端连接、缓存命中率、淘汰 Key 数
  • MQ:分区偏移量、消息堆积、生产 / 消费 TPS、副本同步延迟
  • Nginx:活跃连接、请求成功率、转发耗时、限流命中数

四、面试万能话术:中间件性能瓶颈怎么排查?

  1. 先看错误率、超时率,排除业务 bug;
  2. 再看服务器CPU / 内存 / 磁盘 / 网卡,确认是否硬件瓶颈;
  3. 看中间件自身指标:连接数、队列积压、内存溢出、GC 频繁;
  4. 定位是参数配置问题(并发数、内存上限、分区数)还是架构问题(单节点瓶颈、无分片);
  5. 优化后梯度加压,复测指标回归达标。
Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐