平顶山市网站建设_网站建设公司_Banner设计_seo优化
2026/1/19 19:35:52 网站建设 项目流程

目录标题

  • redis-2ffca4ed 分片集群 完整性能测试报告
    • 目录
    • 一、测试概述
      • 1.1 测试目标
      • 1.2 测试工具
      • 1.3 测试架构
    • 二、环境配置
      • 2.1 集群信息
      • 2.2 Redis 组件状态
      • 2.3 Predixy 配置演变
    • 三、测试阶段总结
      • 3.1 测试时间线
      • 3.2 各阶段关键指标
      • 3.3 性能提升总览
    • 四、详细性能数据
      • 4.1 初始测试 (WorkerThreads=1, 部分Pod Pending)
      • 4.2 扩容后测试 (WorkerThreads=1, 所有Pods Running)
      • 4.3 WorkerThreads优化后 (WorkerThreads=4)
    • 五、性能优化历程
      • 5.1 优化前后对比总表
      • 5.2 QPS 性能曲线对比
      • 5.3 P99 延迟对比
    • 六、瓶颈分析
      • 6.1 初始瓶颈分析
      • 6.2 优化效果分析
      • 6.3 残留瓶颈
    • 七、最终优化建议
      • 7.1 已完成优化 ✅
      • 7.2 推荐进一步优化
      • 7.3 实施命令
        • 优化1: WorkerThreads 4 → 8
        • 优化2: 增加 CPU 限制
        • 优化3: 扩容 Predixy 副本
      • 7.4 预期最终性能
    • 八、附录
      • 8.1 测试脚本
      • 8.2 测试数据
      • 8.3 相关报告

redis-2ffca4ed 分片集群 完整性能测试报告

报告生成时间: 2026-01-19
测试集群: 148 (KUBECONFIG=/bpx/.148-admin.conf)
测试地址: .149:8370
Redis 实例: redis-2ffca4ed (3分片 × 2副本 = 6个Pod)


目录

  1. 测试概述
  2. 环境配置
  3. 测试阶段总结
  4. 详细性能数据
  5. 性能优化历程
  6. 瓶颈分析
  7. 最终优化建议

一、测试概述

1.1 测试目标

本次性能测试旨在:

  • 评估 Predixy 代理在高并发场景下的性能表现
  • 识别性能瓶颈并验证优化效果
  • 对比不同 WorkerThreads 配置的性能差异
  • 为生产环境提供性能优化建议

1.2 测试工具

  • redis-benchmark: Redis 官方性能测试工具
  • 测试参数: 每次测试 100,000 次请求
  • 测试操作: SET 和 GET 操作
  • 并发范围: 50 - 4000 并发连接

1.3 测试架构

客户端 (redis-benchmark) ↓ Predixy 代理 (2副本) ↓ Redis Server (3分片 × 2副本 = 6 Pod)

二、环境配置

2.1 集群信息

项目配置
集群地址(148集群)
命名空间qfusion-admin
Redis实例redis-2ffca4ed
外部访问地址.149:8370

2.2 Redis 组件状态

组件副本数状态
Redis Server6 (3分片 × 2)✅ Running
Predixy 代理2✅ Running
Slowlog Collector1✅ Running

2.3 Predixy 配置演变

阶段WorkerThreadsCPU LimitMemory Limit
初始配置11000m2Gi
优化后41000m2Gi

三、测试阶段总结

3.1 测试时间线

┌─────────────────────────────────────────────────────────────────┐ │ 测试时间线 │ ├─────────────────────────────────────────────────────────────────┤ │ 2026-01-16 15:00 初始性能测试 (WorkerThreads=1) │ │ 2026-01-16 16:00 并发延迟深度测试 │ │ 2026-01-16 17:00 扩容后测试 (所有Pods Running) │ │ 2026-01-19 09:50 WorkerThreads优化测试 (1→4) │ └─────────────────────────────────────────────────────────────────┘

3.2 各阶段关键指标

阶段峰值QPS100并发P991000并发QPS说明
初始测试29,76240.8ms23,753部分Pod Pending
扩容后32,34246.1ms24,851所有Pods Running
WorkerThreads=455,4327.7ms54,377优化后

3.3 性能提升总览

QPS 提升趋势 60K | ┌───────── | ┌─┘ 50K | ┌─┘ | ┌─┘ 40K | ┌─┘ | ┌─┘ 30K | ┌────────────────────┤ | │ ┌─┘ 20K | │ ┌─┘ └──┼─────────────────┼──────────────> 阶段 初始 扩容后 WorkerThreads=4 (WT=1) (WT=1) (WT=4)

四、详细性能数据

4.1 初始测试 (WorkerThreads=1, 部分Pod Pending)

并发SET QPSSET P50SET P99GET QPSGET P50GET P99
5024,6550.71ms45.0ms27,6700.66ms39.4ms
10029,3081.26ms40.8ms28,7031.21ms46.8ms
20029,6032.46ms47.1ms28,7032.30ms49.3ms
30028,7853.60ms51.2ms28,3133.34ms53.1ms
40026,0285.04ms55.6ms28,0904.73ms56.3ms
50027,0566.26ms60.5ms26,1516.65ms60.3ms
60026,6528.02ms61.7ms---
80025,25311.86ms66.7ms---
100023,75314.58ms71.0ms---
125024,53419.15ms77.4ms---
150023,29926.54ms87.8ms---
175024,27261.06ms90.9ms---
200023,39763.23ms95.1ms---
250022,99970.34ms95.4ms---
300023,50780.64ms168.8ms---
350022,62489.54ms198.8ms---
400023,85593.12ms191.1ms---

峰值QPS: 29,762
最佳P50: 0.66ms
最佳P99: 39.4ms

4.2 扩容后测试 (WorkerThreads=1, 所有Pods Running)

并发SET QPSSET P50SET P95SET P99GET QPSGET P50GET P95GET P99
5028,1060.73ms1.34ms38.3ms28,8850.66ms1.22ms41.7ms
10031,3481.17ms2.34ms46.1ms32,3421.15ms2.34ms41.8ms
20028,5392.51ms29.92ms49.9ms28,1532.37ms16.15ms49.3ms
30027,9643.69ms43.97ms54.9ms28,9353.37ms47.01ms55.4ms
50027,5036.43ms52.19ms57.0ms26,7096.22ms53.25ms58.9ms
60026,8678.22ms56.58ms60.8ms27,8097.70ms57.06ms61.4ms
80025,78611.50ms64.80ms71.9ms25,10011.46ms64.35ms70.3ms
100024,85116.45ms69.44ms76.6ms24,92515.05ms65.92ms74.4ms
125025,81319.12ms71.94ms75.9ms26,30219.07ms70.72ms79.7ms
150024,26025.95ms81.02ms90.6ms24,06224.70ms77.25ms83.3ms
175023,41961.82ms90.62ms96.6ms24,08538.53ms83.52ms88.1ms
200024,28472.00ms88.70ms101.4ms23,98164.77ms91.58ms102.7ms
225023,60773.09ms91.14ms96.7ms25,49770.40ms88.26ms106.4ms
250023,13776.22ms93.31ms104.9ms23,76472.00ms94.72ms108.1ms
275024,01576.48ms103.42ms107.8ms25,36877.12ms101.95ms105.8ms
300023,65285.06ms111.42ms168.8ms23,92384.22ms106.05ms114.1ms
350025,38184.99ms180.48ms188.5ms24,13184.67ms111.30ms173.2ms
400023,41994.46ms114.82ms190.3ms24,09694.02ms193.79ms201.2ms
500023,730106.94ms187.52ms205.3ms23,202106.94ms173.18ms191.9ms

峰值QPS: 32,342
最佳P50: 0.66ms
最佳P99: 38.3ms

4.3 WorkerThreads优化后 (WorkerThreads=4)

并发SET QPSSET P50SET P95SET P99GET QPSGET P50GET P95GET P99
5051,5730.671.142.0149,0440.671.152.23
10050,3521.252.213.2651,7871.151.943.86
20052,6322.203.765.4253,1352.113.986.77
30053,6773.185.908.1452,5213.187.2113.54
40052,3834.358.5411.1452,5764.309.2513.25
50051,7875.6212.1618.4653,3335.3411.8615.92
60053,2206.5812.9315.7555,4326.3914.1720.48
80053,1639.4018.8022.5354,3488.8718.0222.58
100054,37711.1123.2229.5253,16311.3422.2929.68
125049,65212.2325.57221.8245,00513.5426.11221.18
150047,87014.0529.60231.9446,77314.1031.66228.74
175046,81615.2165.31235.1448,82814.28208.38237.57
200047,03716.04218.37240.1346,79515.90221.70232.83
225047,80118.16223.10242.6948,87616.21226.43235.01
250049,77620.51226.05244.3549,75116.82229.25271.62
275044,92423.30232.06256.2644,94421.15232.58247.81
300043,51627.02234.24253.9544,58324.98232.32252.03
350043,51629.31239.62260.9942,12334.05234.24254.59
400044,22840.26249.86270.3439,92039.87245.38261.89

峰值QPS: 55,432
最佳P50: 0.67ms
最佳P99: 2.01ms


五、性能优化历程

5.1 优化前后对比总表

指标初始(WT=1)扩容后(WT=1)WT=4优化最终提升
峰值 QPS29,76232,342 (+8.6%)55,432 (+71%)+86%
100并发 QPS29,30831,348 (+7%)50,352 (+61%)+72%
100并发 P9940.8ms46.1ms (+13%)3.26ms (-93%)-92%
500并发 QPS27,05627,503 (+2%)51,787 (+88%)+91%
1000并发 QPS23,75324,851 (+5%)54,377 (+119%)+129%
2000并发 QPS23,39724,284 (+4%)47,037 (+94%)+101%

5.2 QPS 性能曲线对比

QPS (SET) 性能曲线 60K | ●●●●●● WorkerThreads=4 | ●●●●●●●●●●●●●●● 50K | ●●●●●●●●●●●●●●●●●●●●●● | ●●●●●●●●●●●●●●●●●●●●●●●●●● 40K | ●●●●●●●●●●●●●●●●●●●●●●●●●●●●●● | ●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●● 30K | ●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●● | ●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●● 20K |●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●● +--------------------------------------------------------------> 并发 0 500 1000 1500 2000 2500 3000 3500 4000 ─────────── 初始/扩容后 (WT=1) ──── ──── WT=4 ────────

5.3 P99 延迟对比

P99 延迟 (SET, ms) 250 | ●●● WT=1 (高并发) | ●●●●●●●●● 200 | ●●●●●●●●●●●●●●●● | ●●●●●●●●●●●●●●●●●●●● 150 | ●●●●●●●●●●●●●●●●●●●●●●●●● | ●●●●●●●●●●●●●●●●●●●●●●●●●●●●● 100 | ●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●● | ●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●● 50 | ●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●● | ●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●● +--------------------------------------------------------------> 并发 0 500 1000 1500 2000 2500 3000 3500 4000 ─────────── WT=1 ──── ──── WT=4 (低延迟) ────────

六、瓶颈分析

6.1 初始瓶颈分析

WorkerThreads=1 时的瓶颈:

  1. 单线程处理限制

    • Predixy 使用单线程处理所有客户端连接
    • 无法充分利用多核 CPU
    • 高并发时请求排队严重
  2. CPU 利用率低

    • 单线程只能使用一个 CPU 核心
    • CPU Limit 1000m 无法被有效利用
  3. 延迟飙升

    • 高并发时 P99 延迟从几十毫秒飙升到 200ms+
    • 请求排队导致尾部延迟恶化

6.2 优化效果分析

WorkerThreads=4 的改善:

方面改善效果
并发处理能力4个线程并发处理,QPS 提升 70%+
CPU 利用率多核 CPU 得到有效利用
延迟稳定性P99 延迟从 46ms 降至 3ms (100并发)
高并发性能1000并发 QPS 提升 119%

6.3 残留瓶颈

即使 WorkerThreads=4,仍存在以下瓶颈:

  1. 高并发延迟波动

    • 1250+ 并发时 P99 延迟上升到 200ms+
    • 可能是 Redis Server 端瓶颈
  2. CPU 限制

    • CPU Limit 仍然是 1000m
    • 增加 CPU 可以进一步提升性能

七、最终优化建议

7.1 已完成优化 ✅

优化项优化前优化后效果
WorkerThreads14QPS +71%
Redis Pods部分Pending全部Running可用性提升

7.2 推荐进一步优化

优化项当前值建议值预期效果优先级
WorkerThreads48QPS +30-50%P0
CPU Limit1000m2000m支持更高并发P0
Predixy 副本24QPS +100%P1
连接池优化默认调优降低延迟P2

7.3 实施命令

优化1: WorkerThreads 4 → 8
kubectl edit configmap redis-2ffca4ed-predixy-conf -n qfusion-admin# 修改: WorkerThreads 4 → WorkerThreads 8
优化2: 增加 CPU 限制
kubectl edit qfr redis-2ffca4ed -n qfusion-admin# 修改 predixy.resources.limits.cpu: "1" → "2"# 修改 predixy.resources.requests.cpu: "500m" → "1000m"
优化3: 扩容 Predixy 副本
kubectl scale statefulset redis-2ffca4ed-predixy -n qfusion-admin --replicas=4

7.4 预期最终性能

如果执行所有推荐优化,预期最终性能:

指标当前 (WT=4)预期 (WT=8+CPU2C+4副本)提升
峰值 QPS55,000150,000++170%
2000并发 P99240ms<50ms-80%
容量中等大规模适合生产

八、附录

8.1 测试脚本

所有测试脚本位于:/bpx/databases/redis/

  • run_optimized_full_test.sh- WorkerThreads=4 完整测试
  • worker_threads_optimization_test.sh- 对比测试脚本
  • post_scale_pressure_test.sh- 扩容后压测脚本

8.2 测试数据

  • /bpx/databases/redis/detailed_concurrency_results/- 初始详细测试数据
  • /bpx/databases/redis/post_scale_results/- 扩容后测试数据
  • /bpx/databases/redis/worker_threads_optimized_results/- WorkerThreads=4 数据

8.3 相关报告

  • redis-2ffca4ed-predixy-performance-report.md- Predixy性能报告
  • redis-2ffca4ed-concurrency-latency-report.md- 并发延迟报告
  • redis-2ffca4ed-cpu-bottleneck-analysis.md- CPU瓶颈分析
  • redis-2ffca4ed-performance-comparison-report.md- 扩容对比报告
  • redis-2ffca4ed-worker-threads-optimization-report.md- WorkerThreads优化报告

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询