2026/2/21 23:04:15
网站建设
项目流程
石家庄集团网站建设,0453牡丹江信息网怎么发布信息,加强网站备案管理专项行动,广告素材目录标题redis-2ffca4ed 分片集群 完整性能测试报告目录一、测试概述1.1 测试目标1.2 测试工具1.3 测试架构二、环境配置2.1 集群信息2.2 Redis 组件状态2.3 Predixy 配置演变三、测试阶段总结3.1 测试时间线3.2 各阶段关键指标3.3 性能提升总览四、详细性能数据4.1 初始测试 (…目录标题redis-2ffca4ed 分片集群 完整性能测试报告目录一、测试概述1.1 测试目标1.2 测试工具1.3 测试架构二、环境配置2.1 集群信息2.2 Redis 组件状态2.3 Predixy 配置演变三、测试阶段总结3.1 测试时间线3.2 各阶段关键指标3.3 性能提升总览四、详细性能数据4.1 初始测试 (WorkerThreads1, 部分Pod Pending)4.2 扩容后测试 (WorkerThreads1, 所有Pods Running)4.3 WorkerThreads优化后 (WorkerThreads4)五、性能优化历程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:8370Redis 实例: redis-2ffca4ed (3分片 × 2副本 6个Pod)目录测试概述环境配置测试阶段总结详细性能数据性能优化历程瓶颈分析最终优化建议一、测试概述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-adminRedis实例redis-2ffca4ed外部访问地址.149:83702.2 Redis 组件状态组件副本数状态Redis Server6 (3分片 × 2)✅ RunningPredixy 代理2✅ RunningSlowlog Collector1✅ Running2.3 Predixy 配置演变阶段WorkerThreadsCPU LimitMemory Limit初始配置11000m2Gi优化后41000m2Gi三、测试阶段总结3.1 测试时间线┌─────────────────────────────────────────────────────────────────┐ │ 测试时间线 │ ├─────────────────────────────────────────────────────────────────┤ │ 2026-01-16 15:00 初始性能测试 (WorkerThreads1) │ │ 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 RunningWorkerThreads455,4327.7ms54,377优化后3.3 性能提升总览QPS 提升趋势 60K | ┌───────── | ┌─┘ 50K | ┌─┘ | ┌─┘ 40K | ┌─┘ | ┌─┘ 30K | ┌────────────────────┤ | │ ┌─┘ 20K | │ ┌─┘ └──┼─────────────────┼────────────── 阶段 初始 扩容后 WorkerThreads4 (WT1) (WT1) (WT4)四、详细性能数据4.1 初始测试 (WorkerThreads1, 部分Pod Pending)并发SET QPSSET P50SET P99GET QPSGET P50GET P995024,6550.71ms45.0ms27,6700.66ms39.4ms10029,3081.26ms40.8ms28,7031.21ms46.8ms20029,6032.46ms47.1ms28,7032.30ms49.3ms30028,7853.60ms51.2ms28,3133.34ms53.1ms40026,0285.04ms55.6ms28,0904.73ms56.3ms50027,0566.26ms60.5ms26,1516.65ms60.3ms60026,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.4ms4.2 扩容后测试 (WorkerThreads1, 所有Pods Running)并发SET QPSSET P50SET P95SET P99GET QPSGET P50GET P95GET P995028,1060.73ms1.34ms38.3ms28,8850.66ms1.22ms41.7ms10031,3481.17ms2.34ms46.1ms32,3421.15ms2.34ms41.8ms20028,5392.51ms29.92ms49.9ms28,1532.37ms16.15ms49.3ms30027,9643.69ms43.97ms54.9ms28,9353.37ms47.01ms55.4ms50027,5036.43ms52.19ms57.0ms26,7096.22ms53.25ms58.9ms60026,8678.22ms56.58ms60.8ms27,8097.70ms57.06ms61.4ms80025,78611.50ms64.80ms71.9ms25,10011.46ms64.35ms70.3ms100024,85116.45ms69.44ms76.6ms24,92515.05ms65.92ms74.4ms125025,81319.12ms71.94ms75.9ms26,30219.07ms70.72ms79.7ms150024,26025.95ms81.02ms90.6ms24,06224.70ms77.25ms83.3ms175023,41961.82ms90.62ms96.6ms24,08538.53ms83.52ms88.1ms200024,28472.00ms88.70ms101.4ms23,98164.77ms91.58ms102.7ms225023,60773.09ms91.14ms96.7ms25,49770.40ms88.26ms106.4ms250023,13776.22ms93.31ms104.9ms23,76472.00ms94.72ms108.1ms275024,01576.48ms103.42ms107.8ms25,36877.12ms101.95ms105.8ms300023,65285.06ms111.42ms168.8ms23,92384.22ms106.05ms114.1ms350025,38184.99ms180.48ms188.5ms24,13184.67ms111.30ms173.2ms400023,41994.46ms114.82ms190.3ms24,09694.02ms193.79ms201.2ms500023,730106.94ms187.52ms205.3ms23,202106.94ms173.18ms191.9ms峰值QPS: 32,342最佳P50: 0.66ms最佳P99: 38.3ms4.3 WorkerThreads优化后 (WorkerThreads4)并发SET QPSSET P50SET P95SET P99GET QPSGET P50GET P95GET P995051,5730.671.142.0149,0440.671.152.2310050,3521.252.213.2651,7871.151.943.8620052,6322.203.765.4253,1352.113.986.7730053,6773.185.908.1452,5213.187.2113.5440052,3834.358.5411.1452,5764.309.2513.2550051,7875.6212.1618.4653,3335.3411.8615.9260053,2206.5812.9315.7555,4326.3914.1720.4880053,1639.4018.8022.5354,3488.8718.0222.58100054,37711.1123.2229.5253,16311.3422.2929.68125049,65212.2325.57221.8245,00513.5426.11221.18150047,87014.0529.60231.9446,77314.1031.66228.74175046,81615.2165.31235.1448,82814.28208.38237.57200047,03716.04218.37240.1346,79515.90221.70232.83225047,80118.16223.10242.6948,87616.21226.43235.01250049,77620.51226.05244.3549,75116.82229.25271.62275044,92423.30232.06256.2644,94421.15232.58247.81300043,51627.02234.24253.9544,58324.98232.32252.03350043,51629.31239.62260.9942,12334.05234.24254.59400044,22840.26249.86270.3439,92039.87245.38261.89峰值QPS: 55,432最佳P50: 0.67ms最佳P99: 2.01ms五、性能优化历程5.1 优化前后对比总表指标初始(WT1)扩容后(WT1)WT4优化最终提升峰值 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 | ●●●●●● WorkerThreads4 | ●●●●●●●●●●●●●●● 50K | ●●●●●●●●●●●●●●●●●●●●●● | ●●●●●●●●●●●●●●●●●●●●●●●●●● 40K | ●●●●●●●●●●●●●●●●●●●●●●●●●●●●●● | ●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●● 30K | ●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●● | ●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●● 20K |●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●● -------------------------------------------------------------- 并发 0 500 1000 1500 2000 2500 3000 3500 4000 ─────────── 初始/扩容后 (WT1) ──── ──── WT4 ────────5.3 P99 延迟对比P99 延迟 (SET, ms) 250 | ●●● WT1 (高并发) | ●●●●●●●●● 200 | ●●●●●●●●●●●●●●●● | ●●●●●●●●●●●●●●●●●●●● 150 | ●●●●●●●●●●●●●●●●●●●●●●●●● | ●●●●●●●●●●●●●●●●●●●●●●●●●●●●● 100 | ●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●● | ●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●● 50 | ●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●● | ●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●● -------------------------------------------------------------- 并发 0 500 1000 1500 2000 2500 3000 3500 4000 ─────────── WT1 ──── ──── WT4 (低延迟) ────────六、瓶颈分析6.1 初始瓶颈分析WorkerThreads1 时的瓶颈:单线程处理限制Predixy 使用单线程处理所有客户端连接无法充分利用多核 CPU高并发时请求排队严重CPU 利用率低单线程只能使用一个 CPU 核心CPU Limit 1000m 无法被有效利用延迟飙升高并发时 P99 延迟从几十毫秒飙升到 200ms请求排队导致尾部延迟恶化6.2 优化效果分析WorkerThreads4 的改善:方面改善效果并发处理能力4个线程并发处理QPS 提升 70%CPU 利用率多核 CPU 得到有效利用延迟稳定性P99 延迟从 46ms 降至 3ms (100并发)高并发性能1000并发 QPS 提升 119%6.3 残留瓶颈即使 WorkerThreads4仍存在以下瓶颈高并发延迟波动1250 并发时 P99 延迟上升到 200ms可能是 Redis Server 端瓶颈CPU 限制CPU Limit 仍然是 1000m增加 CPU 可以进一步提升性能七、最终优化建议7.1 已完成优化 ✅优化项优化前优化后效果WorkerThreads14QPS 71%Redis Pods部分Pending全部Running可用性提升7.2 推荐进一步优化优化项当前值建议值预期效果优先级WorkerThreads48QPS 30-50%P0CPU Limit1000m2000m支持更高并发P0Predixy 副本24QPS 100%P1连接池优化默认调优降低延迟P27.3 实施命令优化1: WorkerThreads 4 → 8kubectl 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 --replicas47.4 预期最终性能如果执行所有推荐优化预期最终性能指标当前 (WT4)预期 (WT8CPU2C4副本)提升峰值 QPS55,000150,000170%2000并发 P99240ms50ms-80%容量中等大规模适合生产八、附录8.1 测试脚本所有测试脚本位于:/bpx/databases/redis/run_optimized_full_test.sh- WorkerThreads4 完整测试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/- WorkerThreads4 数据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优化报告