RTB系统必须在100,000+QPS的压力下,于10ms内完成竞价请求的评估、打分和响应。以下是这一量级的基础设施如何运作。
竞价请求从广告交易平台到达。出价基础设施只有10ms来评估这次展示、与在投广告活动打分匹配、计算出价并返回响应。
错过截止时间,这次展示机会就没了,没有重试。在100,000+ QPS下,即使1%的超时率也意味着每秒损失1,000次机会。
竞价方与广告交易平台之间的网络延迟,会直接压缩可用于竞价评估的时间。与交易平台相距50ms网络距离的竞价方,代码还没跑就已经输了。
将竞价实例与主要广告交易平台同机房部署的 DSP 开发团队,可以抢回关键的毫秒:
数据中心选址是任何需求方平台的一级工程决策。每一毫秒的网络距离都会直接转化为更低的竞价胜出率。
在100K QPS下,内存分配方式决定系统能否守住延迟预算。在100 QPS时看不见的垃圾回收停顿,到了这个量级就是灾难。
竞价评估路径用到几项具体技术:
热路径零分配不是优化项。在100K QPS下,它是硬性要求。
点击率预测和转化概率模型必须在整体出价评估流程中于 2-3ms 内完成推理。推理多花一毫秒,留给其他出价逻辑的时间就少一毫秒。
使用INT8量化模型的ONNX Runtime,在延迟与准确率之间取得最佳平衡:
在100K QPS下,传统日志产生的负载超过竞价逻辑本身。监控体系必须和应用一样重视性能:
供应方平台面对的是镜像问题:把竞价请求广播给数十个买方,收集响应,评估底价,运行竞价并返回赢家——同样要在自己严格的超时内完成。
SSP开发团队还要面对额外的复杂度:
规模化的程序化广告要求竞价双方都为低延迟持续做优化。
应用内竞价请求携带的信号与网页请求不同。设备级标识(在可获取时)、应用上下文以及SDK上报的可见度,取代了基于Cookie的信号。
基于网页流量训练的点击率模型需要针对应用内场景重新训练,两者的用户交互模式差异很大。
只面向网页库存构建的实时竞价平台,会白白错失40-60%的程序化广告预算。移动端和应用内库存需要专门的基础设施投入。
带上您当前的架构和让您担心的故障场景,我们用半小时一起梳理。