写点什么

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

  • 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:053190

评论

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

分布式那些事儿-浅谈高并发分布式架构演进路径

HelloGeek

分布式 微服务

“数智未来 因你而来”,鲲鹏&昇腾创新大赛2023湖北赛区决赛正式启动

彭飞

百度百舸平台的大模型训练最佳实践

Baidu AICLOUD

容错机制 大模型训练 异构计算 CheckPoint

SAM适配下游任务的探究:SAM Adapter

华为云开发者联盟

人工智能 华为云 华为云开发者联盟 企业号 8 月 PK 榜

从零开始学极狐GitLab|03 Runner 裸机部署

极狐GitLab

DevOps gitlab cicd SaaS DevSecOps

小灯塔系列-中小企业数字化转型系列研究——知识管理测评报告

向量智库

如何精准预测天气?火山引擎ByteHouse与大地量子这么做

字节跳动数据平台

数据库 大数据 云原生 数仓 企业号 8 月 PK 榜

GeaFlow任务能力增强:通过API定制流图计算逻辑

TuGraphAnalytics

分布式计算 java编程 API 图计算 tugraph

聊聊JDK1.0到JDK20的那些事儿 | 京东云技术团队

京东科技开发者

Java jdk jdk8 jdk17 企业号 8 月 PK 榜

Programming abstractions in C阅读笔记p111-p113: boilerplate

codists

19. 第三方库的管理和虚拟环境

茶桁

Python pip conda

华为云API Explorer:自动化运维的得力助手

华为云开发者联盟

云计算 后端 华为云 华为云开发者联盟 企业号 8 月 PK 榜

华为云GaussDB(for Influx)单机版上线,企业降本增效利器来了

华为云开发者联盟

数据库 后端 华为云 华为云开发者联盟 企业号 8 月 PK 榜

18. Python中的模块与包

茶桁

Python

DTCC 2023即将启幕 明天见!

酷克数据HashData

火山引擎DataLeap的Data Catalog系统公有云实践

字节跳动数据平台

大数据 数据中台 企业号 8 月 PK 榜

CCF C³ 走进百度:大模型与可持续生态发展

飞桨PaddlePaddle

人工智能 百度飞桨 文心大模型 重磅活动

相约天津!全国智能汽车竞赛百度创意组总决赛通知

飞桨PaddlePaddle

百度 paddle 百度飞桨 飞桨国赛 全国大学生智能汽车竞赛

一文预览 | 8 月 16 日 NVIDIA 在 WAVE SUMMIT深度学习开发者大会 2023精彩亮点抢先看!

飞桨PaddlePaddle

人工智能 百度飞桨 WAVE SUMMIT

SpringBoot3集成Redis

Java redis 架构 springboot SpringBoot3

MySQL 执行计划详解 | 京东物流技术团队

京东科技开发者

MySQL 数据库 explain关键字 企业号 8 月 PK 榜

使用Logstash同步Mysql到Easysearch

极限实验室

MySQL Logstash ELK easysearch

分布式事务的华丽进化 | 京东物流技术团队

京东科技开发者

分布式事务 数据库事务 企业号 8 月 PK 榜 柔性分布式事务

浅谈统一权限管理服务的设计与开发

百度Geek说

百度 数据中心 企业号 8 月 PK 榜 权限服务

实战:工作中对并发问题的处理 | 京东物流技术团队

京东科技开发者

数据库 并发 数据库锁 更新丢失 企业号 8 月 PK 榜

极狐GitLab 上新:跳过无需备份项目,节约数 10 至 1000 倍时间与磁盘空间

极狐GitLab

DevOps gitlab 磁盘空间 数据备份恢复 备份时间

极狐GitLab 企业级 CI/CD 规模化落地实践指南(一)

极狐GitLab

DevOps cicd runner template Component

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