双十一咋省钱?KeenTune助你业务资源省省省

2023-12-30 09:20

本文主要是介绍双十一咋省钱?KeenTune助你业务资源省省省,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

第 13 个双十一如约而至,各位小伙伴们是不是已经斗志满满准备大买一场?剁手之前各位亲们先等一等,看一看哈。

今年不仅仅有天猫、淘宝、考拉......帮您在生活购物里省省省,龙蜥社区更是带了各类重磅产品,也帮您的业务省省省!

刚在云栖大会龙蜥社区分会场官宣开源的智能全栈调优产品 KeenTune 就是这么一款能真实省钱的工具,具体能干啥?我们来一起回顾下龙蜥社区上的演讲内容。

KeenTune(轻豚)已在龙蜥社区建立 SIG 组,且在不久前官宣开源。相信本款智能全栈调优产品 KeenTune 会为你带来不一样的调优体验。本文分享人为 KeenTune(轻豚)SIG 负责人——胡玉溪。

ca165304e9d80f6ecae4324e6d2c154c.gif

穿越之门

KeenTune(轻豚)产品介绍

8c0a0e998c029a5cf6cd030e778fd930.png

轻豚是一款智能化的调优产品,今天我将从四个方向跟大家一起看一下 KeenTune 这个产品:

1、KeenTune 想要解决什么问题;

2、如何解决了这些问题;

3、目前做到了什么程度;

4、大家可以如何与我们一起做这个产品。

9957c161efccb36c7feb2a4d4c2a4c1a.png

开始正式内容之前,我们先通过名称来认识一下轻豚这个产品,轻豚的英文名叫 KeenTune,由两个英文单词组成:Keen 代表敏捷,Tune 是调优器。从名字上可以看出来,轻豚的原始初衷就希望它是敏捷化的调优器。那么,敏捷该如何理解?

64f995fefbac26411a2cc4f2574eee91.png

  • 敏捷代表着它应该是足够聪明的。通过专家知识库和 AI 算法这两个引擎共同驱动,KeenTune 真正能代替人做一些事情,比如:管理参数之间的复杂关系、在高维空间找到最优参数组合、分析各参数对业务的影响程度等等。

  • 敏捷也代表它是足够有效的。现在的单点或者局部的调优,调优效果都不怎么好,我们要做到全栈调优,要能覆盖到硬件、固件、软件的南北向各层,也要能覆盖到 CPU、内存、IO、网络等多个领域,这样的全栈调优对实际的业务场景才是真正有效的。

  • 敏捷还代表它是轻盈的。KeenTune 有两个特点:轻量化和跨平台。轻量化上看,KeenTune 需要部署在业务环境上的只有一个 python agent,不到 1M 大小,依赖也只有一个简单的 tornado。跨平台上看,KeenTune 不止在阿里的 Anolis OS 上可以使用,在主流开源 Linux 上也都可以使用,目前已经适配过的包括:CentOS、Ubuntu、Debian等。

一、KeenTune 想要解决什么问题

回归正题,第一部分,我们一起看看为什么要做 KeenTune,那么就关系到一个问题:OS 性能调优为什么这么难?

0b176f3b7da2a71feb01d4345c883215.png

有不少朋友,在工作中会有性能调优相关的任务,我平时也会接到这样的任务。前段时间,老板把我叫过去说我们目前要进行一个投标业务,要支撑验证 Anolis OS 相比于友商在性能上是有优势的,我们要对 MySQL TPCC 进行全栈性能调优。

6ce8af433f47342f25af7814bdb60bf9.png

接到这个任务的时候,我大脑里会有这样纷杂的知识域,甚至比这个更加繁杂。说到全栈调优,从覆盖层次上看,就会涉及到刚才说的硬件、固件、软件,而软件会有内核、基础库、系统服务、运行时、以及再往上层的应用,这些都是具有可调优性的;从跨领域角度来讲,需要覆盖到 CPU、内存、IO、网络等等。要把这么多的知识统一起来是非常费劲的事,单纯的内核可调参数就在 3000 个以上,系统服务也会在 2000 个左右,如此大的范围内,我们如何求解这个问题?

如果是你,该找老板要时间来解决这个问题?半年、三个月还是一个月?事实上,我的老板只会给我一周。这一周时间我该做什么?跑路吗?毕竟还是要养家的,而且阿里有句话叫此时此刻非我莫属,别人做不了,我的团队为什么不做一下呢?

725a02b40681d4ce09ffdd83a0ae7456.png

通过分析性能调优真正的难点在哪里,最后我们发现所有的困难归结为三个问题:

1、操作系统的软硬件配置过于繁杂。无论是应用内核参数、系统服务还是应用配置,都有成百上千的参数,而且参数之间相互,在调优的时候往往存在跷跷板现象,如何管理如此大量的领域知识,是非常困难的事情。

2、人力、时间成本高。做一次有效的全栈调优,往往需要把多个领域的专家集中起来进行一次1-3个月的集中攻关,在人力和时间成本上是非常大的代价。

3、专家知识难以固化复用。即使是我们在一个场景上把所有专家集中起来做了一次非常好的攻关,专家知识还是非常难以固化下来并在下个应用扩展使用起来,到了下一次调优场景,还是几乎要重头再来。

针对上述问题我们该如何求解呢?

  • 如果专家知识非常难以固化,那我们为什么不建一个专家知识库平台来把专家知识固化起来呢?

  • 如果我们的配置关系非常复杂,投入时间和人力非常高,那我们为什么不把 AI算法引入进来,让人工智能帮我们做一些事情。

二、如何解决了这些问题

基本的想法有了,我们来尝试做一个产品来实现,这就有了 KeenTune 项目。那么,我们进入第二部分,一起看看 KeenTune 是如何解决上述问题的。

1dccec613a1437eb17fd04014b1c822f.png

KeenTune 有静态调优和动态调优两个过程:静态调优和动态调优。

7c44f552f9425efda8bb42ea4dc35a2c.png

  • 静态调优:负责专家知识的固化和管理。一方面,把专家知识库固化起来,这样在新的场景,或者集群内的大量业务机器上,一键式把专家知识使用上;另一方面,能够把不同层次的大量可配置参数及其之间的关系管理起来。

  • 动态调优:把 AI 引入进来,解决在高维空间找到最优参数组合的问题。人工非常难通过经验或者尝试在数以千计的参数空间中找到最优组合,而这是 AI 擅长的。通过敏感参数降维、Bayes 系列的参数搜索算法能够非常高效和有效的找到可用的最优参数组合。

动静态的协同调优,是 KeenTune 能够进行有效全栈调优的两个基本支柱。

29813ac32372bf237fbcb32582cbd129.png

大家可以看下现在 KeenTune 的架构,橙色部分是动态调优部分,黄色部分是静态调优部分。动态和静态都会有各自的专家知识库,细心的同学可能发现我们静态的调优知识库比动态的多一点,因为动态关注更多的是参数调优,所以是不包含硬件、固件管理,内核模块及系统服务等部分的。

动静态协同也是我们需要解决问题。大家可以思考一下这个问题:在线下一个小的集群里训练出来了一组非常好的结果,到了线上的大规模集群部署的时候,该如何快速运转起来?这个时候,需要把动态调优的结果固化起来,转移到静态专家知识库中进行扩散,KeenTune 提供了 dump 功能来做这件事。再来思考一个问题:静态调优专家知识库如果想放在特定环境上针对于细致调优?这时又需要把静态知识库转移到动态里去,所以 KeenTune 也提供了 generate 操作。动静态协同才能够确保 KeenTune 在实际业务场景上是有调优效果的。

下面,我们来具体了解下 KeenTune 的几个特点:

  • KeenTune 是全栈性能调优工具。从硬件、固件,到软件的内核、运行时、编译器,以及比较常用的应用,KeenTune都可以针对于它来做比较好的定制化调优。

b59fca3e66635d7eeae945b1e158ab1b.png

  • 多领域的算法模型。为了保证在各种环境上能够高效调优,不仅用到参数调优范畴里的算法,也引入到了敏感参数识别来进行降维实现效率和效果提升。同时,为了能够保证不停波动的环境上实现有效调优,引入高保真的算法来保证算法的有效性。另外,引入了多目标调优,保证在不同需求的场景上是有效果的。

b01ea2b0e831b02c9b7d52908be158c4.png

  • 算法可视化平台。这里也有个彩蛋:做算法开发的同学也可以用到 KeenTune,因为我们提供了可视化算法开发和运作平台,这也是后续希望能够和算法开发的同学能够共建的点。

  • 跨平台。不仅能够非常好的支撑阿里自己的 OS,CentOS、Ubuntu、Debian等主流开源 OS 也都已经做过了适配,大家可以非常快速的在 X86、ARM 架构使用起来。

26691b80ed57e5145f045eebd186d030.png

  • 高度模块化,轻量化。KeenTune 是一个非常完整的模块化可分布式部署的产品,目前分成了四大组件:装在业务环境上的运行时 agent、管控工具、AI 算法库和 benchmark 管控工具。这些组件里,只有一个非常小的 agent 需要部署在业务环境上,其他比较重量级的模块都是可以卸载到非业务环境上,所以对于系统环境的侵占性会非常小,装上之后就能用。

65167c207fbf8e6604d1a045b15e6546.png

希望大家在有性能调优需求的时候想到 KeenTune 产品。

三、目前做到了什么程度

在了解了 KeenTune 的能力和特点后,我们进入第三部分,一起看看 KeenTune 在内部的业务场景里能做到什么样的程度。

2a756f19107c0e4d34864b79c6e1ce06.png

目前,无论是 VM 典型的业务压力还是容器场景下,KeenTune 在非常多的应用场景里的调优效果都达到了 30% 以上。开头提到的 MySQL 场景,我们已经可以实现通过静态的一键调优,在 X86 和 ARM 上达到性能提升 10 倍以上的效果。通过以上数据,还是能够体现出 KeenTune 在很多场景都有稳定而有效的调优能力。

ee453b95e44c65903af9aa2048cf56ff.png

另外,无论是在人力和时间成本节省上,还是调优有效性、高效性上,KeenTune 都是比较好的。

aad7ed4f7cae9b72b43576594f869671.png

四、如何与我们一起做这个产品

通过以上的介绍,相信大家很想知道该如何获取和使用 KeenTune,那么我们一起进入最后一部分。

f73618f47adb93ba285ead42c01fb31a.png

这里给出来一个可用的业务部署方式,刚才有提到模块化。从这个部署图里来看,如果只是静态调优,那么只需要部署左侧的两个模块就可以;所有的 AI 这些东西用起来的话,就是四个模块一起来用。你可以把它想象成一个乐高,按需所取,按照自己的使用方式来真正使用 KeenTune。

7943048f79d39ac2c38a0850ecb88f87.png

加入KeenTune(轻豚):

现在的 KeenTune 已经正式开源,大家可以通过 KeenTune 的官网和龙蜥社区(OpenAnolis)获取源码,图片中是KeenTune(轻豚)交流群,大家可以扫码进群和我们互动。谢谢大家!

b988dad2d63b3173a2d582441f64d276.png

KeenTune(轻豚)是一款AI算法与专家知识库双轮驱动的操作系统全栈式智能优化产品,为主流的操作系统提供轻量化、跨平台的一键式性能调优,让应用在智能定制的运行环境发挥最优性能。

作者:胡玉溪,KeenTune(轻豚)SIG负责人。

欢迎更多开发者加入KeenTune(轻豚) SIG:

网址:https://openanolis.cn/sig/KeenTune

邮件列表:keentune@lists.openanolis.cn

2f159c1345495f4d330b5beacda20435.png

—— 完 ——

关于龙蜥SIG

SIG是开放的,并争取让交付成果成为社区发行的一部分,由组内核心成员主导治理,可通过邮件列表和组内的成员进行交流。龙蜥社区SIG目前已超20个,包括硬件兼容性测试 SIG、商密软件栈、高性能存储技术 SIG、Java语言与虚拟机SIG、Cloud Kernel、OceanBase SIG等。

3100798e4bbb99bc7d221c7153adca24.png

SIG网址:https://openanolis.cn/sig

加入龙蜥社群

加入微信群:添加社区助理-龙蜥社区小龙(微信:openanolis_assis),备注【龙蜥】拉你入群;加入钉钉群:扫描下方钉钉群二维码。欢迎开发者/用户加入系统运维SIG交流,共同推进龙蜥社区的发展,一起打造一个活跃的、健康的开源操作系统生态!

1ff94613505ebd70edc1a679c87ab737.png

往期精彩推荐

1.龙蜥社区成立系统运维SIG,重磅开源sysAK系统运维工具集

2.龙蜥操作系统将捐赠开放原子开源基金会

3.杭州西软加入龙蜥社区,应用软件兼容适配已完成

4.龙蜥操作系统荣获“中国开源云联盟年度优秀开源项目”奖!

5.海尔智能加入龙蜥社区,推动软硬件应用生态繁荣发展

点击“阅读原文”直达KeenTune(轻豚) SIG

这篇关于双十一咋省钱?KeenTune助你业务资源省省省的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/552396

相关文章

业务中14个需要进行A/B测试的时刻[信息图]

在本指南中,我们将全面了解有关 A/B测试 的所有内容。 我们将介绍不同类型的A/B测试,如何有效地规划和启动测试,如何评估测试是否成功,您应该关注哪些指标,多年来我们发现的常见错误等等。 什么是A/B测试? A/B测试(有时称为“分割测试”)是一种实验类型,其中您创建两种或多种内容变体——如登录页面、电子邮件或广告——并将它们显示给不同的受众群体,以查看哪一种效果最好。 本质上,A/B测

业务协同平台--简介

一、使用场景         1.多个系统统一在业务协同平台定义协同策略,由业务协同平台代替人工完成一系列的单据录入         2.同时业务协同平台将执行任务推送给pda、pad等执行终端,通知各人员、设备进行作业执行         3.作业过程中,可设置完成时间预警、作业节点通知,时刻了解作业进程         4.做完再给你做过程分析,给出优化建议         就问你这一套下

深入解析秒杀业务中的核心问题 —— 从并发控制到事务管理

深入解析秒杀业务中的核心问题 —— 从并发控制到事务管理 秒杀系统是应对高并发、高压力下的典型业务场景,涉及到并发控制、库存管理、事务管理等多个关键技术点。本文将深入剖析秒杀商品业务中常见的几个核心问题,包括 AOP 事务管理、同步锁机制、乐观锁、CAS 操作,以及用户限购策略。通过这些技术的结合,确保秒杀系统在高并发场景下的稳定性和一致性。 1. AOP 代理对象与事务管理 在秒杀商品

49个权威的网上学习资源网站

艺术与音乐 Dave Conservatoire — 一个完全免费的音乐学习网站,口号是“让每一个人都可以接受世界级的音乐教育”,有视频,有练习。 Drawspace — 如果你想学习绘画,或者提高自己的绘画技能,就来Drawspace吧。 Justin Guitar — 超过800节免费的吉他课程,有自己的app,还有电子书、DVD等实用内容。 数学,数据科学与工程 Codecad

汇编:嵌入式软件架构学习资源

成为嵌入式软件架构设计师需要掌握多方面的知识,包括嵌入式系统、实时操作系统、硬件接口、软件设计模式等。 以下是一些推荐的博客和网站,可以帮助你深入学习嵌入式软件架构设计: ### 1. **Embedded.com**    - **网址**: [Embedded.com](https://www.embedded.com/)    - **简介**: 这是一个专注于嵌入式系统设计的专业网

Unity 资源 之 Super Confetti FX:点亮项目的璀璨粒子之光

Unity 资源 之 Super Confetti FX:点亮项目的璀璨粒子之光 一,前言二,资源包内容三,免费获取资源包 一,前言 在创意的世界里,每一个细节都能决定一个项目的独特魅力。今天,要向大家介绍一款令人惊艳的粒子效果包 ——Super Confetti FX。 二,资源包内容 💥充满活力与动态,是 Super Confetti FX 最显著的标签。它宛如一位

caffe训练openpose相关资源

CPMTransformationParameter参数解析: https://www.jianshu.com/p/063a2159f0f2 genLMDB.py: https://www.jianshu.com/p/1cae32cbd36d OpenPose 参数说明: https://blog.csdn.net/zziahgf/article/details/84668319 openp

ubuntu内存资源使用情况监视

此处分享一个可以查看ubuntu系统中资源使用情况的指令,只需要在终端中输入一下这条指令即可: gnome-system-monitor

业务资源管理模式语言09

示例: 图13 表示了QuoteTheMaintenance 模式的一个实例,在汽车修理店系统中,其中“Vehicle”扮演“Resource”,“Repair Quotation”扮演“Maintenance Quotation”,“Repair shop branch”扮演“Source-party”,“Customer”扮演“Destiny-Party”。 图13——QuoteThe

一个C++程序运行,从点击运行到控制台打印文本,电脑硬件的资源是如何调动的

当点击运行一个 C++ 程序并看到控制台输出文本时,计算机硬件和操作系统之间协同工作,完成了多个步骤。这些步骤涉及 CPU、内存、存储设备、操作系统和输入输出设备的共同作用。下面是一个详细的过程描述: 1. 程序加载 启动:当你点击运行一个可执行文件时,操作系统(通常是 Windows、Linux 或 macOS)的文件系统管理器识别请求,并启动加载程序。读取可执行文件:加载程序将可执行文件从