足球焦点战的典型流量曲线:开赛前 60 分钟开始爬坡,开赛哨响冲到峰值的六成,此后随攻防节奏波动,进球瞬间再叠一个尖峰(能到日常的 15 倍),中场休息回落到五成,终场后又起一个看集锦的小峰。峰值QPS到几万量级是常态。
两个推论:扩容要跟着时间轴走,不是匀速加机器;进球尖峰必须靠缓存和连接复用扛,靠临时扩容来不及——从告警到实例就绪最快也要两三分钟,尖峰只有几十秒。
压测要模拟真实时间轴:从 T-2 小时的爬坡开始加压,进球瞬间用脉冲流量模拟(瞬时拉到目标峰值的 120%),持续 30 秒再回落。只压匀速高峰不压脉冲,等于没测——出问题的从来都是尖峰那几十秒。压测数据留档,每个赛季开赛前用最近的真实峰值重新校准一次目标容量。
降级要提前写死触发条件:长连接数超容量 80% 时新用户转轮询;数据库延迟超 2 秒时停统计模块保比分;数据源断流 5 分钟时页面明确提示「数据延迟」而不是假装正常。降级顺序的原则是保主干砍枝叶:比分和赛程是主干,统计、集锦是枝叶,砍的顺序从枝叶开始。预案的比赛日演练至少做一次,没演练过的预案等于没有。房间的推送架构见赛事直播与实时数据方案,数据源的故障补偿见体育数据API对接细节。