认识A-Tune
简介
操作系统作为衔接应用和硬件的基础软件,如何调整系统和应用配置,充分发挥软硬件能力,从而使业务性能达到最优,对用户至关重要。然而,运行在操作系统上的业务类型成百上千,应用形态千差万别,对资源的要求各不相同。当前硬件和基础软件组成的应用环境涉及高达7000多个配置对象,随着业务复杂度和调优对象的增加,调优所需的时间成本呈指数级增长,导致调优效率急剧下降,调优成为了一项极其复杂的工程,给用户带来巨大挑战。
其次,操作系统作为基础设施软件,提供了大量的软硬件管理能力,每种能力适用场景不尽相同,并非对所有的应用场景都通用有益,因此,不同的场景需要开启或关闭不同的能力,组合使用系统提供的各种能力,才能发挥应用程序的最佳性能。
另外,实际业务场景成千上万,计算、网络、存储等硬件配置也层出不穷,实验室无法遍历穷举所有的应用和业务场景,以及不同的硬件组合。
为了应对上述挑战,openEuler推出了A-Tune。
A-Tune是一款基于AI开发的系统性能优化引擎,它利用人工智能技术,对业务场景建立精准的系统画像,感知并推理出业务特征,进而做出智能决策,匹配并推荐最佳的系统参数配置组合,使业务处于最佳运行状态。

架构
A-Tune核心技术架构如下图,主要包括智能决策、系统画像和交互系统三层。
- 智能决策层:包含感知和决策两个子系统,分别完成对应用的智能感知和对系统的调优决策。
- 系统画像层:主要包括自动特征工程和两层分类模型,自动特征工程用于业务特征的自动选择,两层分类模型用于业务模型的学习和分类。
- 交互系统层:用于各类系统资源的监控和配置,调优策略执行在本层进行。

支持特性与业务模型
支持特性
A-Tune支持的主要特性、特性成熟度以及使用建议请参见表1。
表 1 特性成熟度
特性
|
成熟度
|
使用建议
|
14大类50款应用负载类型自动优化
|
已测试
|
试用
|
自定义profile和业务模型
|
已测试
|
试用
|
参数自调优
|
已测试
|
试用
|
支持业务模型
根据应用的负载特征,A-Tune将业务分为14大类,各类型的负载特征和A-Tune支持的应用请参见表2。
表 2 支持的业务类型和应用
业务大类
|
业务类型
|
瓶颈点
|
支持的应用
|
default
|
默认类型
|
算力、内存、网络、IO各维度资源使用率都不高
|
N/A
|
webserver
|
web应用
|
算力瓶颈、网络瓶颈
|
Nginx、Apache Traffic Server、Tomcat、Apache Http Server、Squid、Postfix、lighttpd
|
ftp server
|
ftp应用
|
算力瓶颈、网络瓶颈
|
vsftpd、proftpd
|
database
|
数据库
|
算力瓶颈、内存瓶颈、IO瓶颈
|
Mongodb、Mysql、Postgresql、Mariadb、openGauss、tidb、sqlite、QuestDB、influxdb、splunk、Cassandra、Neo4j
|
distributed data store
|
分布式存储
|
算力瓶颈、内存瓶颈、IO瓶颈
|
storm、glusterFS、Ceph、Infinispan、ElasticSearch
|
big-data
|
大数据
|
算力瓶颈、内存瓶颈
|
Hadoop-hdfs、Hadoop-spark、hive
|
middleware
|
中间件框架
|
算力瓶颈、网络瓶颈
|
Dubbo、Zookeeper、kafka、rabbitMQ、activeMQ、rocketMQ、etcd、karaf
|
in-memory-database
|
内存数据库
|
内存瓶颈、IO瓶颈
|
Redis、Memcached、cachefilesd
|
operation
|
运维工具
|
算力瓶颈、网络瓶颈
|
prometheus、ansible、puppet、zabbix
|
basic-test-suite
|
基础测试套
|
算力瓶颈、内存瓶颈
|
SPECCPU2006、SPECjbb2015
|
hpc
|
人类基因组
|
算力瓶颈、内存瓶颈、IO瓶颈
|
Gatk4
|
virtualization
|
虚拟化
|
算力瓶颈、内存瓶颈、IO瓶颈
|
Consumer-cloud、Mariadb
|
docker
|
容器
|
算力瓶颈、内存瓶颈、IO瓶颈
|
Mariadb
|
others
|
其他
|
-
|
Encryption
|