同一套压测场景,滑动窗口和令牌桶在突发流量下的延迟分布差了一个数量级
同一套压测条件下,令牌桶 P99 延迟仅 23ms,滑动窗口却飙到 310ms。核心差异在于滑动窗口的刚性时间边界导致请求周期性积压,而令牌桶的连续令牌发放避免了“一刀切”延迟。压测数据、根因分析和 Lua 脚本实现均证实,突发流量场景下令牌桶的延迟分布远优于滑动窗口。
共 3 篇文章
同一套压测条件下,令牌桶 P99 延迟仅 23ms,滑动窗口却飙到 310ms。核心差异在于滑动窗口的刚性时间边界导致请求周期性积压,而令牌桶的连续令牌发放避免了“一刀切”延迟。压测数据、根因分析和 Lua 脚本实现均证实,突发流量场景下令牌桶的延迟分布远优于滑动窗口。
在极端分区(最高5000)和高堆积(TB级)条件下,对Kafka、RocketMQ和Pulsar进行物理集群压测。结果显示,Kafka延迟恶化最可控,呈渐进式增长;RocketMQ在2000分区时出现性能断崖,延迟飙升至秒级;Pulsar在分区超500后几乎不可用,架构开销导致指数级恶化。性能断崖根因各异,选型需匹配业务瓶颈。
跨端框架冷启动性能实测:Flutter低端机首屏仅680ms,React Native需980ms,uni-app和Taro因小程序容器开销超1600ms,KMP+Compose为840ms。差距源于引擎初始化、JS加载、渲染管线等结构性链路耗时,预热策略和线程调度是关键影响因素。