生产环境全链路压测建设历程 27:FAQ 之 业务模型相关
问题 1:每个用户都需要与用户中心交互获取 Token,大量用户的混合模拟测试,获取 Token 等鉴权信息,都是比较麻烦的问题。
两种做法
完整的模拟和 UP 的交互流程,的确比较复杂
参考天猫双十一相关的做法, 对于带有压测标记的用户数据,用户中心 UIC,做了一个简单的改造:
a) 构造一批压测用户数据到 UIC 的影子表
b) 对请求的 header 信息用 if 判断,当判定为压测用户和 IP 来源,则请求影子表
c) 返回对应的 token
问题 2:如何选择不同类型的场景(会员订单记录很多的、订单记录比较少的、年龄等其他涉及到个性化推荐等业务特性的用户类型)?如何开展分析?
类似淘宝的大卖家、小卖家的概念。大卖家,订单记录特别多;小卖家,订单记录相对少。 其实这个问题,要回到代码开发的一些基本的原则。 双十一相关的核心系统,如交易、商品、优惠、会员,有一些基本的原则
a) 单 SQL 单表
b) 单次查询不超过 200 条
2.在构造用户相关的数据的时候,在构造数据量特别大的时候,一般是对真实数据进行敏感信息的脱敏,来构造影子表的数据,这样能更能接近真实场景。
问题 3:压测中,场景的选取原则
1) 按照接口的比率来,接口的整体比率比较好确定。但是每个接口的入参很多,不同的入参可能业务逻辑差别比较大。比如 A 接口,入参是 a 时,访问第三方 C,入参是 b 时,访问第三方 D。这些参数的组合,如何很好的控制比率?
a) 天猫也面临这样的问题,主要的解决办法:是用分布式链路追踪的数据,做聚合,然后筛选出 top xxx 的请求链路,然后对其进行压测。
2) 按照场景来,一个场景对应的接口很多,需要提前分析出这个场景可能触发的接口,以及入参的情况,再按照一定的比率进行模拟压测。比如首页加载,实际上会调用 X 个接口,每个接口又有很多不同的入参组合。
a) 和第一个问题类似,用大数据平台来计算
版权声明: 本文为 InfoQ 作者【数列科技杨德华】的原创文章。
原文链接:【http://xie.infoq.cn/article/d035654103bb5ce2d44606852】。文章转载请联系作者。
评论