内容提要
Agoda在2023至2025年间流量激增50倍,面临工程挑战。团队通过优化ScyllaDB、改进缓存和数据模型、升级硬盘,成功实现300K EPS的容量提升,保持10ms延迟,顺利应对流量波动。
关键要点
-
Agoda在2023至2025年间流量激增50倍,面临工程挑战。
-
团队需要优化ScyllaDB以保持10ms的延迟,面对突发流量和缓存命中率不稳定的问题。
-
Agoda的特征存储支持离线模型训练和在线推理,是其业务的核心。
-
当前每秒服务约350万实体,使用DragonflyDB作为非持久化缓存。
-
在2023年中期,Agoda遇到容量问题,流量突增至120K EPS,导致缓存失效和请求重复。
-
通过增加客户端缓存和减少不必要请求,将流量降低至7K EPS,保持稳定。
-
团队通过测量冷缓存性能,发现不良数据中心的基线读取能力仅为5K EPS。
-
尝试不同的数据建模和压缩策略,最终通过调整SSTable摘要和使用NVMe硬盘实现300K EPS的容量提升。
-
升级硬盘后,Agoda成功实现50-60倍的性能提升,达到300K EPS。
-
团队总结出,正确设置ScyllaDB、快速存储和匹配数据模型是实现50倍扩展的关键。
延伸解读
流量激增的挑战与应对
Agoda在流量激增的情况下,面临着缓存失效和请求重复的问题。团队通过增加客户端缓存和减少不必要的请求,将流量从120K EPS降低至7K EPS,保持了系统的稳定性。这一策略强调了在高流量情况下,合理的缓存管理和请求优化的重要性。
硬盘升级的关键作用
Agoda通过将SATA硬盘升级为NVMe硬盘,实现了50-60倍的性能提升,容量从20K EPS跃升至300K EPS。这一变化表明,硬件选择对系统性能的影响巨大,尤其是在处理高并发请求时,快速存储设备能够显著改善响应时间和处理能力。
数据建模与压缩策略的探索
在面对高读负载时,Agoda尝试了不同的数据建模和压缩策略。通过调整SSTable摘要和采用分级压缩,团队成功提升了读取效率。这表明,数据结构的优化和合理的压缩策略能够有效提升数据库性能,尤其是在数据密集型应用中。
延伸问答
Agoda在2023至2025年间流量增长了多少?
Agoda在2023至2025年间流量激增50倍。
Agoda是如何优化ScyllaDB以应对流量激增的?
Agoda通过优化ScyllaDB、改进缓存和数据模型、升级硬盘来应对流量激增。
Agoda使用的缓存技术是什么?
Agoda使用DragonflyDB作为非持久化缓存,并在客户端SDK中提供缓存。
Agoda在流量突增时遇到了什么问题?
Agoda在流量突增时遇到了缓存失效和请求重复的问题,导致数据库负载过高。
Agoda如何解决容量问题?
Agoda通过增加客户端缓存、减少不必要请求和优化数据模型来解决容量问题。
Agoda的NVMe硬盘升级带来了什么效果?
NVMe硬盘升级后,Agoda的容量提升至300K EPS,实现了50-60倍的性能提升。