写点什么

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

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

评论

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

飞鹤乳业携手用友,引领数字化财务共享管理新时代

用友BIP

财务共享

大数据如何助力营销(5)活动复盘

MobTech袤博科技

kafka生产者你不得不知的那些事儿

JAVA旭阳

Java kafka

【MaxCompute】基于Package跨项目访问资源实践

阿里云大数据AI技术

数据管理 MaxCompute 企业号 5 月 PK 榜

看海联金汇财务共享智慧平台如何实现以数赋能智慧共享

用友BIP

财务共享

软件测试/测试开发丨学习笔记之Pytest使用

测试人

Python 软件测试 自动化测试 测试开发 pytest

分析元宇宙NFT/链游系统开发方案

Congge420

数据高效转储,生产轻松支撑

鲸品堂

数据库 语言 & 开发 企业号 5 月 PK 榜

软件测试/测试开发丨学习笔记之Selenium 常见控件定位方法

测试人

软件测试 自动化测试 测试开发 selenium

新一代企业数字化联盟成立,“强强联手”搭建品牌服务生态

数划云

数字化 全面预算管理 新一代企业数字化联盟 数划云 绩效分析

肝到头秃!百度强推并发编程笔记我爱了,原来这才叫并发

做梦都在改BUG

Java 并发编程

关于IPP Swap挖矿系统开发详情

Congge420

自动化回归测试平台 AREX Agent 源码再阅读

AREX 中文社区

Java Java Agent 测试

ChatGPT与低代码开发:危机四伏、技术暴走!

加入高科技仿生人

人工智能 低代码 AI技术 ChatGPT

MSE 自治服务帮你快速定位解决 Dubbo 重复订阅导致 RPC 服务注册失败问题

阿里巴巴云原生

阿里云 云原生 dubbo MSE

SpringBoot 中异步任务实现及自定义线程池执行异步任务

做梦都在改BUG

Java Spring Boot

并发编程-常见并发工具BlockingQueue的使用及原理解析

做梦都在改BUG

Java 并发编程 BlockingQueue

Topaz Gigapixel AI for Mac激活(图片无损放大软件) v6.3.2

真大的脸盆

Mac Mac 软件 图片无损放大 图片放大工具

惊艳!腾讯强推599页Netty进阶神技,完美诠释Netty

做梦都在改BUG

Java Netty

Abaqus非线性问题预览及求解

思茂信息

仿真软件 abaqus abaqus软件 abaqus有限元仿真 有限元仿真技术

PoseiSwap:为何青睐 Layer3?又为何选择 Celestia 作为技术伙伴?

鳄鱼视界

【等保】等保全称是什么?英文咋说?

行云管家

等保 等级保护 等保2.0

BSN官方视频号更新内容汇总(2023年4月15日~5月15日)

BSN研习社

分投趣fintoch即将崩盘?系统开发解析!

Congge420

如何构建自己的知识体系?

老张

知识体系

《苏丹的复仇》携手华为HMS生态,实现用户、收入双增长

HarmonyOS SDK

HMS Core

开发神技!阿里消息中间件进阶手册限时开源,请接住我的下巴

做梦都在改BUG

Java kafka 分布式 MQ 消息中间件

云纳管是什么意思?云纳管平台哪个好?

行云管家

云计算 云服务 云平台 云管平台 云纳管

二维码在中国:学术视角下的创新与实践

草料二维码

二维码

景区共享电单车让观光旅游更轻松

共享电单车厂家

共享电动车厂家 景区共享电单车 共享电单车投放 景区共享电动车

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