注意:以下文档只适用于TOP接口,请谨慎使用!

文档中心 > 聚石塔

全链路压测概述

全链路压测日常版是零售云平台提供的一项商家业务质量压测服务,测试商家业务从店铺前端产生高并发订单到后端业务系统各环节的处理效率,通过自动化压测工具,模拟商家店铺线上优惠策略和双11预计订单按峰值、正常值对业务系统进行压测,检测商家业务系统各环节的业务处理能力,及时发现业务系统性能瓶颈,最后起到优化系统的目的。

产品使用介绍

产品使用流程

用户登陆零售云官网(https://lingshouyun.alibaba.com),进入控制台->应用开发&稳定性->全链路压测,在压测列表中创建压测任务并启动压测,具体步骤如下:

基本信息设置

填写应用基本信息,根据商家业务选择压测的应用类型(ERP、奇门、全渠道),并选择参与压测的应用和商家。

系统信息配置

注意:添加rds服务器(推送库),无须在订单同步服务进行相关配置,用户只需要压测任务时添加新购压测rds即可.

 

服务器性能监控配置

系统信息配置中需要先对压测环境服务器安装性能采集工具,压测过程中实时采集测试服务器的性能指标,需要用户安装主机性能监控,如何安装请查看文档 

 

任务流转配置

转单、审单等环节很多情况下是通过人工或自动任务完成的,压测中需进行改造来确保压测与实际作业的一致性,将业务系统中各订单处理链路封装业务测试执行脚本,根据业务需求自动或手工执行压测业务场景,压测的核心的业务场景包括订单转单(下载)、客审、通知配货、仓库已出库、ERP回写淘宝订单发货状态,其它业务场景根据商家业务需求进行测试,同时需要对各个业务处理场景的订单状态数据进行实时回传,以便统计商家订单全链路业务处理效率。

转单场景测试脚本示例代码(JAVA)

     ISV自定义转单接口服务如: http://121.41.***.***/erp/test***.do?action=download ,根据商家的业务逻辑下载系统库的订单数据到业务库。

Java示例代码:
  1. public Boolean test*** (String start, String end) {  
  2.     
  3.     Map param=JsonTools.fromJson(tags,Map.class);
  4.     String sql="select * from 表名 wherewhere jdp_modified >? and jdp_modified<? ";
  5.     .....//业务处理;
  6.     .....//回流处理状态 ;

业务场景订单处理状态回传示例代码

用户可根据业务需求选择不同的回流方式,详情文档参考:订单链路监控

以单条订单状态回流为例,调用taobao.qimen.event.produce将商家订单业务处理状态实时进行回传,示例代码为已转单状态数据回传:

Public class Test{

         Public static void main(String [] args){

             TaobaoClient client=new DefaultTaobaoClient(url, appkey, secret);

             QimenEventProduceRequest req=newQimenEventProduceRequest();

                 req.setStatus("QIMEN_ERP_TRANSFER");

                req.setTid(12231221231232L);

             QimenEventProduceResponse response = client.execute(req,sessionkey);

             System.out.println(rsp.getBody());

        }

}

用户代码改造注意事项:

 1.日常版压测环境调用的接口为测试环境,接口请求地址为:http://mockgw.hz.taeapp.com/gw

 2.订单履行处理后的回流订单说明请参考文档<全链路压测核心业务场景说明>

 3.对于订单中的seller_nick字段,压测的时候由于安全原因都会生成一个”clustertest-“打头的名字代替真实的seller_nick

 4.对于订单中的seller_id字段,压测的时候由于安全原因都会做一下偏移,压测SellerID = 真实SellerID | 9223372000000000000

 5.对于访问TOP接口,如果是全链路压测的数据,需要添加系统级参数tb_eagleeyex_t=1表明是全链路压测数据(访问奇门接口也是如此)
 6.压测的订单数据与线上的存在一定差别,即某些id做了偏移,具体差别如下
    i) 压测num_iid= 真实num_iid | 5000000000000000000
    ii) 压测sku_id = if(sku_id == 0l){ return 0l; }else if(sku_id > 0l){ return sku_id | 5000000000000000000; }
    iii) 压测商品其他数据使用线上真实数据,包括outer_iid,outer_sku_id等字段

业务信息配置

商品信息配置

压测推送的订单是基于基本信息配置中提交的商家帐号店铺下生成的订单,需要用户通过文本文件提供线上店铺真实商品id(至少五个商品),多个商品id用逗号隔开。

订单信息配置

大订单定义:即一个父订单下有N个子订单,用户可根据实际业务设置子订单数量.

大订单比例:即配置的大订单占推送订单的比例.

留言订单比例:即推送订单中有买家留言的订单比例,适用于系统自动审单时,若存在买家留言,转为人工审单.

优惠信息配置

配置优惠信息后,压测订单会基于优惠信息类型来创建生成订单.

压测时间预约

用户可自行预约提交进行压测,小二会在1-2个工作日内完成审核,通过审核后用户可在任务列表中启动压测调试.

联调压测

用户提交压测任务并审核通过后,即可启动压测调试,检查压测业务场景能否跑通,订单状态是否回流,是否采集到服务器性能监控数据,联调测试只支持小批量订单推送,若联调测试通过进入正式压测.

正式压测

联调压测通过后,压测任务的状态会自动变为压测中,用户即可启动正式压测,正式压测过程中建议用户观察压测业务信息和性能监控,若监控发现问题支持暂停推送,修复后重新启动压测,压测结束后,用户自行查看压测报告并将最优的压测结果设置为最优压测报告,若压测不符合商家业务需要,建议优化后重新进行压测.

 

压测数据推送优惠券类型

优惠类型

适用类型

优惠比例

优惠类型 适用类型 优惠比例

B商品大促优惠

天猫店 10%

C商品大促优惠

集市店

10%

特价宝

天猫店 10%

店铺红包(C专用)

集市店

10%

天猫定向优惠

天猫店 10%

UMP限时折扣

集市店

10%

UMP限时折扣

天猫店 10%

UMP_ISV商品子订单优惠

集市店

10%

UMP_ISV商品子订单优惠

天猫店 10%

单品优惠券

集市店

10%

UMP_ISV主订单优惠

天猫店 10%

淘金币活动构建

集市店

10%

单品优惠券

天猫店 10%

UMP满就送店铺优惠

集市店

10%

TSPALL天猫全店商品店铺优惠

天猫店 10%

店铺优惠券

集市店

10%

UMP满就送店铺优惠

天猫店 10%

子订单全店参与

集市店

10%

店铺优惠券

 天猫店  10%  

大促购物券

 

集市店

 

10%

     

UMP_ISV主订单优惠

集市店

10%


全链路压测核心业务场景说明

订单管理(ERP、进销存、订单处理OMS)

业务场景 回流状态 业务场景描述 是否必须
 

转单

QIMEN_ERP_TRANSFER 下载订单到业务库
单个订单处理完成回传已转单状态
是 
客审  

QIMEN_ERP_CHECK

审核订单;单个订单客审完成回传已客审状态
注意:

1.检测是否缺货/占用库存/是否退换货等
2.前置打单需要获取电子面单

通知配货 QIMEN_CP_NOTIFY  完成订单审核后,通知仓储接单进行仓内操作,完成后回传通知配货状态
生成拣货单    待发货订单批量生成拣货单,回传已打拣货单
打印发货单    批量查询待打印的发货订单,回传已打发货单状态;注释真实打印
打印物流单    批量查询待打印的物流单,回传已打物流单订单状态;注释真实打印物流单
 验货    根据单个商品匹配验证发货订单商品
 仓库打包出货 QIMEN_CP_OUT  后置打单需要获取电子面单匹配订单,并扣减实际库存。
同时回传仓库出库订单状态
 回写订单    调用发货接口将订单状态修改为已发货状态 是 

 

日常版转大促版改造注意事项

若用户在日常版完成压测后,在大促版进行压测需要进行如下改造:

1、不能使用线上的数据推送RDS,因为大促版压测使用的是和线上一样的sys_info库进行压测订单推送,所以需要使用一个专门用于压测的rds来接收压测订单。

2、调用的订单状态回流接口和其他TOP接口需要使用正式环境接口请求地址(http://gw.api.taobao.com/router/rest),每个接口调用一定要带有压测标tb_eagleeyex_t=1,TOP正式环境是通过这个标来判断是否压测流量。以单条订单状态回流为例,调用taobao.qimen.event.produce将商家订单业务处理状态实时进行回传,示例代码为已转单状态数据回传:

Public class Test{

         Public static void main(String [] args){

             TaobaoClient client=new DefaultTaobaoClient(url, appkey, secret);

             QimenEventProduceRequest req=newQimenEventProduceRequest();

                 req.setStatus("QIMEN_ERP_TRANSFER");

                req.setTid(12231221231232L);

                req.putOtherTextParam("tb_eagleeyex_t", "1");//该参数标识该订单为压测数据

             QimenEventProduceResponse response = client.execute(req,sessionkey);

             System.out.println(rsp.getBody());

        }

}

 

3、大促版压测商品模板和日常版压测一样,使用num_iid:sku_id,num_iid:sku_id,num_iid:sku_id这样的格式(10月9号支持),之前使用num_iid,num_iid,num_iid这样的格式

 

FAQ

1.我的应用系统调用api或消息服务下载订单,没有使用数据推送,是否要进行压测?

    双11期间通过api或消息服务通知下载订单会进行限流,建议使用数据推送,平台会针对使用数据推送参与压测的商家优先保障推送资源.

2.如何识别我的应用是否需要参与压测?

    针对订单履行链路应用,应用包括订单管理、企业ERP、进销存OMS,商家自研系统等,业务覆盖全渠道、奇门&菜鸟仓、奇门ERP&WMS、商家自有仓、打单发货等业务系统需进行全链路压测。

    针对非订单履行链路应用,比千牛交易插件、无线互动应用、会员通等业务需进行压测,非订单履行链路压测工具帮助文档://open.taobao.com/docs/doc.htm?spm=a219a.7629140.0.0.9e2vAI&treeId=2&articleId=105583&docType=1

    补充说明:订单管理类目下存在评价、物流跟踪等应用,不涉及到订单履行业务处理,在大促期间,平台会统一进行api调用降级。

3.创建压测任务时,新增监控机器时提示验证机器状态失败如何解决?

    添加压测服务器ECS,需要先安装agent,如何安装请查看文档 

    添加压测数据推送RDS不需要安装agent,需要用户确保选择的推送库rds不是线上真实的数据推送实例,填写订单同步服务中配置过的RDS系统将会提示报错,建议用户使用新购的测试rds.

4.创建压测任务时,如何进行基础信息配置?

    配置基础信息时,需要选择压测的应用,填写的压测商家必须是订购过该应用下的商家店铺,即商家授权过该应用的店铺nick,压测生成的订单会对该店铺id进行偏移,不会影响商家线上真实店铺数据.    

5.启动压测调试时,提示open db timeout?

    RDS配置了ip白名单,需要将压测生产订单机器ip加入到rds白名单,ip为:10.24.153.150,10.24.152.119,10.24.153.105,若还无法解决,请在钉钉群:21712893反馈问题。

      

FAQ

关于此文档暂时还没有FAQ
返回
顶部