干货 | 携程是如何做AB实验分流的

携程作为较早实施AB实验的公司,面对AB实验分流器存在的问题,如接口混乱、响应效率下降等,进行了改进。改进后的AB实验分流器在更大QPS下,P99.9线表现更优,提高了效率。通过SDK设计、接口收口、分流器后台选型等方式,提升了AB实验分流的效率和体验。新分流器采用驻留SDK、减少全量字段查询等策略,确保了数据一致性和性能。
摘要由CSDN通过智能技术生成

作者简介

 

Will Wang,携程技术专家,负责AB实验分流和其他数据智能项目的开发。关注大数据和分布式方面,会做一些深入的开发部署和结合业务数据的基准调试工作。

一、背景

   

携程是业界比较早进行AB实验的公司。AB实验可以简单认为是传入一个实验号和用户分流ID到AB实验分流器,分流器吐出分流版本A、B、C、D等,通过截取应用流量落地一段时间的分流数据,就可以分析具体版本的优劣,决定启用新版本或者沿用老版本。

   

携程的AB分流器沿用至今,在业务发展上发挥了很大作用,但也存在一些问题。

1)携程内部,除了携程App,还有小程序、Online页面等都在用AB实验分流器,这些分流器是不同部门维护的不同接口,导致AB实验人员在开发的时候,有时候会用错,或者经过几轮沟通才能找到适合的分流器接口;

2)AB实验分流器在公司越来越多的AB实验应用接入的时候,响应效率不尽人意,没有开始的时候那么好。还有实验新配置的分流规则,在一个访问量大的页面如携程App酒店主页上很难即时生效,有时候要等到凌晨访问量较少时才生效;

3)AB实验方法论也需要改进,从而更精确地指导AB实验结论。但AB实验分流器前端接口里直接引用了AB实验配置表的全量字段信息,导致AB实验配置表随着AB实验方法论改进更新的时候,AB实验分流器也需要更新换代,这对公司的各个实验应用方来说是不可接受的。

基于此,我们开始着手携程AB实验分流器的改进。AB实验分流器的效率改进是重中之重,收口公司众多的分流器接口,迁移旧接口流量到新接口和推进公司AB实验应用采用新分流接口,这样才可以适应AB新方法论上的AB实验配置的更新迭代。

 

二、改进结果

截至到目前,除少量在2020年年底计划下线的.net应用外,其他的应用都通过公司的slbportal工具把分流流量迁移到改进过的新AB实验分流器接口,或者直接采用了新AB实验分流器。下面贴上新旧AB实验分流器的改进效果,供大家参考。

   

从以上的流量统计图可以看出,新AB实验分流器在QPS相应更大的情况下(200.7->290.2),P99.9线反而表现的更好(363.1ms->5.2ms)。可见新AB分流器的响应更快,对旧AB实验分流器接口的效率改进还是比较显著的。

  

三、改进方案

本文将从AB实验分流器整体设计,收口,SDK设计和分流器后台选型设计方面进行分享,主要说明如何提升AB分流器的分流效率,希望给AB实验特别是AB实验分流器的开发人员带来一定的启发和帮助。

3.1 AB分流器整体设计

   

AB分流器整体设计是用SDK还是service方式,是一开始就要制定的࿰

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值