English | 简体中文
A-Tune是一款基于AI的操作系统性能调优引擎。A-Tune利用AI技术,使操作系统“懂”业务,简化IT系统调优工作的同时,让应用程序发挥出色性能。
支持操作系统:openEuler 20.03 LTS及以上版本
yum install -y atune
yum install -y atune-engine
注: 直接安装后尝试执行systemctl start atuned
会出现报错信息,原因是未配置认证证书,解决方法如下:
- 配置证书,使用https安全连接
- 生成服务端和客户端的证书文件
- 修改
/etc/atuned/atuned.cnf
中的60 ~ 62行、67 ~ 69行为证书文件的绝对路径 - 修改
/etc/atuned/engine.cnf
中的23 ~ 25行为证书的绝对路径 - 相关证书生成方式可参考代码仓中
Makefile
文件的"restcerts"和"enginecerts"
- 取消证书认证,使用http非安全连接
- 在安全要求不高的场景下(如本地测试使用等),可以通过使用http连接规避该问题
- 修改
/etc/atuned/atuned.cnf
中的rest_tls(L59)和engine_tls(L66)为false - 修改
/etc/atuned/engine.cnf
中的engine_tls(L22)为false
无论使用1/2哪种方法,在设置完成后均需要重启服务,具体操作方法详见"二、快速使用指南 - 2、管理A-Tune服务 - 加载并启动atuned和atune-engine服务"
yum install -y golang-bin python3 perf sysstat hwloc-gui lshw
yum install -y python3-dict2xml python3-flask-restful python3-pandas python3-scikit-optimize python3-xgboost python3-pyyaml
或
pip3 install dict2xml Flask-RESTful pandas scikit-optimize xgboost scikit-learn pyyaml
如用户已安装数据库应用,并需要将A-Tune的采集和调优数据存储到数据库中,可以安装以下依赖包:
yum install -y python3-sqlalchemy python3-cryptography
或
pip3 install sqlalchemy cryptography
同时,请参照下表,根据对应的数据库应用任选一种方式进行依赖安装。
数据库 | yum安装 | pip安装 |
---|---|---|
PostgreSQL | yum install -y python3-psycopg2 | pip3 install psycopg2 |
git clone https://gitee.com/openeuler/A-Tune.git
cd A-Tune
make
make collector-install
make install
注:如果通过'make install'安装了atuned服务,网卡和磁盘已经自动更新为当前机器中的默认设备。如果需要从其他设备收集数据,请按照以下步骤配置 atuned 服务。
通过以下命令可以查找当前需要采集或者执行网卡相关优化时需要指定的网卡,并修改/etc/atuned/atuned.cnf中的network配置选项为对应的指定网卡。
ip addr
通过以下命令可以查找当前需要采集或者执行磁盘相关优化时需要指定的磁盘,并修改/etc/atuned/atuned.cnf中的disk配置选项为对应的指定磁盘。
fdisk -l | grep dev
systemctl daemon-reload
systemctl start atuned
systemctl start atune-rest
systemctl start atune-engine
systemctl status atuned
systemctl status atune-rest
systemctl status atune-engine
用户可以将新采集的数据存放到A-Tune/analysis/dataset目录下,并通过执行模型生成工具,更新A-Tune/analysis/models目录下的AI模型。
接口语法:
python3 generate_models.py
参数说明
- OPTIONS
参数 | 描述 |
---|---|
--csv_path, -d | 存放模型训练所需的csv文件目录,默认为A-Tune/analysis/dataset目录 |
--model_path, -m | 训练生成的新模型存放路径,默认为A-Tune/analysis/models目录 |
--select, -s | 是否生成特征模型,默认为否 |
--search, -g | 是否启用参数空间搜索,默认为否 |
运行示例:
python3 generate_models.py
列出系统当前支持的profile,以及当前处于active状态的profile。
接口语法:
atune-adm list
运行示例:
atune-adm list
激活profile,使其处于active状态。
接口语法:
atune-adm profile
运行示例:激活web-nginx-http-long-connection对应的profile配置
atune-adm profile web-nginx-http-long-connection
实时采集系统的信息进行负载类型的识别,并自动执行对应的优化。
注:analysis命令采集的部分数据来源是 atuned 服务配置文件(/etc/atuned/atuned.cnf) 中配置的硬盘和网卡,执行命令前先检查其中的配置项是否符合预期,若需从其他网卡或硬盘采集数据,则需更新 atuned 服务配置文件,并重启 atuned 服务。
接口语法:
atune-adm analysis [OPTIONS]
运行示例1:使用默认的模型进行应用识别,并进行自动优化
atune-adm analysis
运行示例2:使用自定义训练的模型进行应用识别
atune-adm analysis --model /usr/libexec/atuned/analysis/models/new-model.m
使用指定的项目文件对所选参数进行动态空间的搜索,找到当前环境配置下的最优解。
接口语法:
atune-adm tuning [OPTIONS] <PROJECT_YAML>
运行示例:参考A-Tune 离线调优示例,每一个示例中可参考对应的README指导文档。
其他命令使用详见atune-adm help信息或A-Tune用户指南。
A-Tune-UI是基于A-Tune的前端页面,具体配置及使用方法请参考A-Tune-UI项目的README文件。
我们非常欢迎新贡献者加入到项目中来,也非常高兴能为新加入贡献者提供指导和帮助。在您贡献代码前,需要先签署CLA。
如果您有任何疑问或讨论,请通过A-Tune邮件列表和我们进行联系。
每双周周五上午10:00-12:00召开SIG组例会。您可以通过A-Tune邮件列表方式申报议题。