A-Tune 让系统调优更智能
A-Tune 是 openEuler 开源项目中的一个子项目。是一款基于 openEuler 的自动化和智能化性能调优引擎。它利用人工智能技术,对运行在操作系统上的业务,进行精准建模,感知并推理业务特征,根据业务特征及负载情况,给出最佳的参数配置组合,从而使业务处于最佳系统性能状态。
本篇文章不涉及具体系统调优方法,仅说明我们团队对于系统调优问题的思考。
为什么叫 A-Tune?
让我们先从名字来认识下 A-Tune 吧。“Tune” 代表了性能调优;“A”则承载了 Tune 的愿景与定位,其蕴含了3层寓意:
Aware:自感知,自动感知负载和业务模型。
Adaptive:自适应,动态监测负载特征变化,适时调整资源。
Auto:自调节,通过感知负载模型,自动匹配优化库。
为什么要开发 A-Tune?
系统调优是一个门槛高的系统性工程,非常依赖工程师的技能和经验。
一个简单的应用,影响其性能的因素除了自身代码外,还有支撑它运行的环境,如硬件平台、操作系统、数据库等。如何在众多因素中找到性能瓶颈?需要工程师们熟悉大量参数的含义、配置方法和业务场景,并不断积累经验,才能对系统进行快速精准调优。
但随着各行各业数字化智能化转型,新应用、新技术、新计算架构层出不穷,工程师的技能和经验远远无法满足系统调优的需求,传统系统调优更是面临着新的问题。
问题一
涉及上万的能力组合,挑战人工调优极限:运行在操作系统上的业务类型成百上千,形态千差万别,从硬件到操作系统,到中间件再到上层应用,涉及的调优参数组合上万+。随着业务复杂度和调优对象的增加,调优组合和调优所需成本指数级增长,大大超过了工程师的能力范围。
问题二
应用场景剧增,实验室测试无法穷举:实际业务场景成千上万,计算、网络、存储等硬件配置层出不穷,实验室无法遍历所有的应用和业务场景,不可能完全模拟动态负载,无法对不同的场景组合进行穷举测试。
为了解决上面的问题,A-Tune 应运而生。
A-Tune 的优势
A-Tune 利用大数据和人工智能技术,通过对各种类型的业务进行大数据分析,建立精准业务模型,并制定相应的调优策略。具体来说,A-Tune 优势有以下三点:
简化系统调优:A-Tune 屏蔽了硬件和操作系统底层细节,工程师无需感知底层细节,就可以快速上手调优。降低了对工程师的技能要求,简化了系统调优过程。
提升调优效率:A-Tune 利用大数据和人工智能技术,从 CPU、IO、网络、内存等多个维度抽象刻画不同业务类型系统的行为特征,并对收集的结果进行大数据分析和机器学习,识别有效的调优参数,快速匹配多种配置组合,找到最佳配置。对于业务复杂、配置项多的业务系统,能够大大提升调优效率。
持续积累调优经验:A-Tune 能够利用人工智能技术自动分析业务特征,寻找优化配置,建立优化模型库。针对具体的业务场景,训练并持续优化业务模型,积累和优化模型库,满足多业务多场景下的调优需求。
A-Tune 架构
A-Tune 分层架构主要包括智能决策层、系统画像层、交互系统层以及优化模式库四部分,分层架构如下图所示:
智能决策层包含感知系统和决策系统。感知系统用于获取环境资源使用数据,利用人工智能技术推理判断业务类型,决策系统根据感知子系统获得的数据进行调优决策。
系统画像层包含数据平台、标注系统和学习系统。数据平台用于存放软硬件数据,标注系统用于业务环境数据采集和业务模型的聚类,学习系统用于业务模型的学习和分类。
交互系统层用于各类系统资源的监控和配置,执行调优策略。
优化模式库构建并积累各种业务模型对应的优化能力和配置。
A-Tune 应用场景
关于 A-Tune 的应用场景,我们使用以下应用做了测试:
测试结果:
要注意本测试结果为实验室数据,结果在不同环境存在偏差。
关注 A-Tune
A-Tune 还在不断的开发和完善当中,如你对 A-Tune 感兴趣,欢迎关注 A-Tune 项目。
项目地址:https://gitee.com/openeuler/A-Tune
文章转载自公众号:openEuler