产品战略专家梁宁确认出席AICon北京站,分享AI时代下的商业逻辑与产品需求 了解详情
写点什么

阿里妈妈技术质量开源面向广告搜索推荐系统的线上测试和性能测试平台

  • 2020-04-21
  • 本文字数:2240 字

    阅读完需:约 7 分钟

阿里妈妈技术质量开源面向广告搜索推荐系统的线上测试和性能测试平台

2020 年 4 月 7 日,阿里妈妈技术质量团队开源了线上测试平台 MagicOTP 和性能测试平台 ACP。两个平台经过阿里巴巴广告业务的长期锤炼,在大规模广告搜索、推荐系统的线上测试和性能测试上深耕多年,内置了面向广告搜索、推荐领域的工业级线上测试和性能测试解决方案。

一、ACP(alimama-common-performance-platform)

概述

ACP(alimama-common-performance-platform)平台是阿里妈妈的全链路智能性能测试平台。区别于业界一些开源的工具和平台,ACP 平台将有监督建模、无监督建模、混沌工程等智能化技术引入到性能测试领域;并将其打造为高性能通用的基础组件。平台提供了压测 query 智能抽取、压测流程智能调控、系统指标智能监控三大智能化功能;在阿里妈妈实现了无人值守的智能化性能测试。


(github 地址:https://github.com/alibaba/alimama-common-performance-platform-acp )

系统核心能力

  1. C++高性能压测工具


ACP 提供了 SYNC 同步压测和 ASYNC 异步压测两种模式;同步压测的工作模式是阻塞式发送,异步压测采用非阻塞并发模式,目前开源版本支持同步压测模式。


Chain-Line 链式的线程管理系统,智能调整内部线程和并发数,最终快速达到指定的 qps。


基于 Linux 内核的消息队列的监听服务,在不需要重启进程的情况下做到实时调整 qps。


组件:


  • 智能压测调控框架

  • Chain-Line 链式的线程管理组件

  • Adaptive Auto Control 实时流量调控组件

  • Kernel-queue 消息队列读写组件


压测 Client 工作模式图:



  1. 大规模分布式调度服务


性能测试的一个难点是如何高效利用测试资源,在压测机器有限,压测机器规格不一致,压测任务消耗硬件资源不一的情况下;如何高效调度成千上万个 agent 是我们要解决的问题。ACP 平台利用 zookeeper,使用 DFS 深度优先的搜索算法,实现了资源分配粒度达到内核级别,并开源了其产品化的能力。


  1. 基于历史样本的有监督学习建模及预估能力


传统性能测试更多需要人来手工操作,测试效率普遍不高,我们提供了基于随机森林( random Forest)、线性模型、非线性等多种算法建模组件;用建模、预估技术代替人力手动调压等操作,用户可以根据业务场景定制自己的建模方案,此外,我们也提供了多种样本处理组件。


  1. 特征样本归一化,对于历史监控数据,我们将样本(sample)进行归一化处理(normalization),将不同量纲、不同单位的样本进行加权处理,保证后续建模的精度。

  2. 特征样本去噪,历史监控数据有很多噪声,如作弊流量,异常流量,而这些噪声会直接影响模型的预估表现,减少无效样本对模型的影响。

  3. 特征样本转换,feature transformer 是将多维特征转为单维(Single-Demension)特征的过程,如服务器带宽和 qps 有着强关联,我们将二者做除法得出新特征,即每个请求占用的带宽(bytes per query),而这种特征能够直观反映系统表现。



  1. 基于实时样本的无监督学习建模及预估能力


我们提供了基于 arima 模型的无监督学习建模预估能力(差分整合移动平均自回归模型,又称整合移动平均自回归模型)。和上述有监督建模预估相比,无监督建模预估准入门槛低,相比于之前的用历史监控数据建模的方案,arima 不需要人为的收集历史数据和打标。



  1. 性能测试用例智能生成


Netflix 提出了 Chaos Engineering,我们基于混沌工程和 fuzz 思想进一步探索了 query 智能组合构造方案,分钟内智能构造千万级数据样本;解决了压测数据样本单一,异常场景构造成本高,覆盖率低的问题,从而可以充分验证系统稳定性,鲁棒性。



后续开源计划


  1. 历史样本有监督学习建模及预估能力

  2. 实时样本无监督学习建模及预估能力

  3. 基于 fuzz 的性能测试用例智能生成方案


欢迎通过邮件组 acp-opensource@list.alibaba-inc.com 和 github issue 联系和反馈

二、MagicOTP — 线上测试平台

概述

广告搜索推荐业务上,线下功能测试的覆盖和线上实际场景总是有一定的 gap,深层次的原因是因为业务和算法模型强相关,线下不可能覆盖所有业务场景。鉴于此我们通过使用线上的数据,实时 trace 和智能化技术打造了线上智能测试平台 MagicOTP,通过线上测试很好弥补了线下功能测试覆盖和实际业务场景之间的 gap,实现了全场景的测试覆盖保障,同时在阿里妈妈落地了智能化的无人值守的发布闭环。


(github 地址:https://github.com/alibaba/online-test-platform

系统核心能力

  1. 多种线上数据采集技术(时序、分布、规则采样、基因变异算法等),节省人工构造测试数据的成本,提高测试效率。

  2. 健壮的规则校验引擎,测试数据通过规则进行多维度校验,相比传统冒烟的单点固定验证,具有更高的场景覆盖度。



  1. 精准的规则智能推荐技术和智能化验证技术,基于大数据分析和字段关联关系(Association Rules)建模,利用推荐算法和异常数据检测(K-sigma 等)实现了智能化的规则推荐和校验。



  1. 高效的多业务接入能力,在平台配置完任务,任务执行过程中自动推荐出基础校验规则,减少开发成本。当业务变更时维护只需简单修改规则即可。


开源 Roadmap


目前一期提供了基础的线上请求回放能力和规则引擎服务,以及基于此的完整的线上测试方案,后续我们会开源规则智能学习推荐功能和无人值守的发布验证方案。


欢迎通过邮件组 magicotp-opensource@list.alibaba-inc.com 和 github issue 联系和反馈


ACP:


github 地址:https://github.com/alibaba/alimama-common-performance-platform-acp


MagicOTP:


github 地址:https://github.com/alibaba/online-test-platform


研发成员:朱藻、橦录、翰龙、凤暄、凝珂


本文转载自公众号阿里巴巴技术质量(ID:AlibabaTechQA)。


原文链接


https://mp.weixin.qq.com/s/bxQqfAfsKCGQ_5rp18UWGA


2020-04-21 14:052820

评论

发布
暂无评论
发现更多内容

【愚公系列】2022年06月 通用职责分配原则(八)-中介原则

愚公搬代码

6月月更

读书笔记之:麦肯锡高效工作法

甜甜的白桃

读书笔记 读书 笔记 6月月更

【LeetCode】出现次数最多的子树元素和Java题解

Albert

LeetCode 6月月更

Java技术培训之设计模式七大原则

@零度

设计模式 JAVA开发

TiDB 性能分析&性能调优&优化实践大全

TiDB 社区干货传送门

DOM核心——Element类型

大熊G

JavaScript 前端 6月月更

开源生态|超实用开源License基础知识扫盲帖(下)

Orillusion

开源 WebGL 元宇宙 Metaverse webgpu

我的远程办公经验 | 社区征文

五分钟学大数据

初夏征文

SREWorks v1.2 版本发布 | 运维市场能力发布

阿里云大数据AI技术

大数据 运维 云原生 开发运维

低代码实现探索(四十三)前台对象数据树

零道云-混合式低代码平台

OLAP分析型应用场景中,数仓中vacuum为何对列存表无效

华为云开发者联盟

数据库 后端 存储 华为云

C#入门系列(二十) -- 面向对象之封装

陈言必行

C# 6月月更

APICloud 实现文档下载和预览功能

YonBuilder低代码开发平台

文件 APP开发 APICloud

el-table 分页全选功能讲解

CRMEB

面试突击58:truncate、delete和drop的6大区别

王磊

Java java常见面试题 常见面试题

基于集群的动态反馈负载均衡策略

No Silver Bullet

集群 6月月更 负载均衡策略

告别手写,使用 Doc View 快速生成接口文档

程序员小航

IDEA 插件

强推10款Python常用的开发工具

左手の明天

Python ide python开发工具

通过一个具体的例子,讲解 SAP Cloud Platform Integration(CPI) 的使用方法

汪子熙

Cloud 系统集成 SAP 6月月更 cpi

vivo 容器集群监控系统架构与实践

vivo互联网技术

云原生 监控 系统架构 Prometheus

Java开发培训之设计模式UML类图

@零度

JAVA开发 UML

文旅新体验!3DCAT助力广州非遗“元宇宙”街区炫酷亮相

3DCAT实时渲染

非遗 元宇宙 实时云渲染

知识管理——知识经济时代的增资利器

小炮

Webshell检测引擎:青藤开放200个雷火SaaS版免费账号!

青藤云安全

安全攻防 网络安全 攻防演练

大数据培训Flink之Table API 与 SQL

@零度

flink 大数据开发

案例驱动 :从入门到掌握Shell编程详细指南

百思不得小赵

bash 运维 6月月更

本周二晚19:00战码先锋第6期直播丨共建测试子系统,赋能开发者提高代码质量

OpenHarmony开发者

OpenHarmony

2022年秋季广州美博会-2022广州9月份美博会

Geek_0b38bb

2022年广州美博会 秋季广州美博会 美博会 广州美博会

福昕软件重磅发布福昕高级PDF编辑器12.0

联营汇聚

IAST 初探:博采众长、精准定位、DevOps友好

SEAL安全

DevOps 安全 IAST 应用安全测试 开源软件供应链

Wallys/Routerboard/DR8072A-HK09/IPQ8072A/802.11ax

wallys-wifi6

802.11AX WIFI 6e

阿里妈妈技术质量开源面向广告搜索推荐系统的线上测试和性能测试平台_开源_朱藻_InfoQ精选文章