双十一咋省钱?KeenTune助你业务资源省省省
第 13 个双十一如约而至,各位小伙伴们是不是已经斗志满满准备大买一场?剁手之前各位亲们先等一等,看一看哈。
今年不仅仅有天猫、淘宝、考拉......帮您在生活购物里省省省,龙蜥社区更是带了各类重磅产品,也帮您的业务省省省!
刚在云栖大会龙蜥社区分会场官宣开源的智能全栈调优产品 就是这么一款能真实省钱的工具,具体能干啥?我们来一起回顾下龙蜥社区上的演讲内容。
(轻豚)已在龙蜥社区建立 SIG 组,且在不久前官宣开源。相信本款智能全栈调优产品 会为你带来不一样的调优体验。本文分享人为 (轻豚)SIG 负责人——胡玉溪。
穿越之门
(轻豚)产品介绍
轻豚是一款智能化的调优产品,今天我将从四个方向跟大家一起看一下 这个产品:
1、 想要解决什么问题;
2、如何解决了这些问题;
3、目前做到了什么程度;
4、大家可以如何与我们一起做这个产品。
开始正式内容之前,我们先通过名称来认识一下轻豚这个产品,轻豚的英文名叫 ,由两个英文单词组成:Keen 代表敏捷,Tune 是调优器。从名字上可以看出来,轻豚的原始初衷就希望它是敏捷化的调优器。那么,敏捷该如何理解?
一、 想要解决什么问题
回归正题,第一部分,我们一起看看为什么要做 ,那么就关系到一个问题:OS 性能调优为什么这么难?
有不少朋友,在工作中会有性能调优相关的任务,我平时也会接到这样的任务。前段时间,老板把我叫过去说我们目前要进行一个投标业务,要支撑验证 OS 相比于友商在性能上是有优势的,我们要对 MySQL TPCC 进行全栈性能调优。
接到这个任务的时候,我大脑里会有这样纷杂的知识域,甚至比这个更加繁杂。说到全栈调优,从覆盖层次上看,就会涉及到刚才说的硬件、固件、软件,而软件会有内核、基础库、系统服务、运行时、以及再往上层的应用,这些都是具有可调优性的;从跨领域角度来讲,需要覆盖到 CPU、内存、IO、网络等等。要把这么多的知识统一起来是非常费劲的事,单纯的内核可调参数就在 3000 个以上,系统服务也会在 2000 个左右,如此大的范围内,我们如何求解这个问题?
如果是你,该找老板要时间来解决这个问题?半年、三个月还是一个月?事实上,我的老板只会给我一周。这一周时间我该做什么?跑路吗?毕竟还是要养家的,而且阿里有句话叫此时此刻非我莫属,别人做不了,我的团队为什么不做一下呢?
通过分析性能调优真正的难点在哪里,最后我们发现所有的困难归结为三个问题:
1、操作系统的软硬件配置过于繁杂。无论是应用内核参数、系统服务还是应用配置,都有成百上千的参数,而且参数之间相互,在调优的时候往往存在跷跷板现象,如何管理如此大量的领域知识,是非常困难的事情。
2、人力、时间成本高。做一次有效的全栈调优,往往需要把多个领域的专家集中起来进行一次1-3个月的集中攻关,在人力和时间成本上是非常大的代价。
3、专家知识难以固化复用。即使是我们在一个场景上把所有专家集中起来做了一次非常好的攻关,专家知识还是非常难以固化下来并在下个应用扩展使用起来,到了下一次调优场景,还是几乎要重头再来。
针对上述问题我们该如何求解呢?
二、如何解决了这些问题
基本的想法有了,我们来尝试做一个产品来实现,这就有了 项目。那么,我们进入第二部分,一起看看 是如何解决上述问题的。
有静态调优和动态调优两个过程:静态调优和动态调优。
动静态的协同调优,是 能够进行有效全栈调优的两个基本支柱。
大家可以看下现在 的架构,橙色部分是动态调优部分,黄色部分是静态调优部分。动态和静态都会有各自的专家知识库,细心的同学可能发现我们静态的调优知识库比动态的多一点,因为动态关注更多的是参数调优,所以是不包含硬件、固件管理,内核模块及系统服务等部分的。
动静态协同也是我们需要解决问题。大家可以思考一下这个问题:在线下一个小的集群里训练出来了一组非常好的结果,到了线上的大规模集群部署的时候,该如何快速运转起来?这个时候,需要把动态调优的结果固化起来,转移到静态专家知识库中进行扩散, 提供了 dump 功能来做这件事。再来思考一个问题:静态调优专家知识库如果想放在特定环境上针对于细致调优?这时又需要把静态知识库转移到动态里去,所以 也提供了 操作。动静态协同才能够确保 在实际业务场景上是有调优效果的。
下面,我们来具体了解下 的几个特点:
希望大家在有性能调优需求的时候想到 产品。
三、目前做到了什么程度
在了解了 的能力和特点后,我们进入第三部分,一起看看 在内部的业务场景里能做到什么样的程度。
目前,无论是 VM 典型的业务压力还是容器场景下, 在非常多的应用场景里的调优效果都达到了 30% 以上。开头提到的 MySQL 场景,我们已经可以实现通过静态的一键调优,在 X86 和 ARM 上达到性能提升 10 倍以上的效果。通过以上数据,还是能够体现出 在很多场景都有稳定而有效的调优能力。
另外,无论是在人力和时间成本节省上,还是调优有效性、高效性上, 都是比较好的。
四、如何与我们一起做这个产品
通过以上的介绍,相信大家很想知道该如何获取和使用 ,那么我们一起进入最后一部分。
这里给出来一个可用的业务部署方式,刚才有提到模块化。从这个部署图里来看,如果只是静态调优,那么只需要部署左侧的两个模块就可以;所有的 AI 这些东西用起来的话,就是四个模块一起来用。你可以把它想象成一个乐高,按需所取,按照自己的使用方式来真正使用 。
加入(轻豚):
现在的 已经正式开源,大家可以通过 的官网和龙蜥社区()获取源码,图片中是(轻豚)交流群,大家可以扫码进群和我们互动。谢谢大家!
(轻豚)是一款AI算法与专家知识库双轮驱动的操作系统全栈式智能优化产品,为主流的操作系统提供轻量化、跨平台的一键式性能调优,让应用在智能定制的运行环境发挥最优性能。
作者:胡玉溪,(轻豚)SIG负责人。
欢迎更多开发者加入(轻豚) SIG:
网址:
邮件列表:
—— 完 ——
关于龙蜥SIG
SIG是开放的,并争取让交付成果成为社区发行的一部分,由组内核心成员主导治理,可通过邮件列表和组内的成员进行交流。龙蜥社区SIG目前已超20个,包括硬件兼容性测试 SIG、商密软件栈、高性能存储技术 SIG、Java语言与虚拟机SIG、Cloud 、 SIG等。
SIG网址:
加入龙蜥社群