KeenTune — это продукт комплексной интеллектуальной оптимизации операционной системы, использующий AI алгоритмы и базу знаний экспертов. Он предоставляет легковесные, многоплатформенные решения для автоматической настройки производительности для основных операционных систем, позволяя приложениям работать в идеальных условиях с максимальной эффективностью.
KeenTuned является компонентом управления планированием KeenTune и состоит из двух частей: командной строки (CLI) и демона (Daemon). Модуль CLI предлагает пользователям удобный интерфейс командной строки, который разделён на три части: базовые команды, команды статической оптимизации и команды динамической оптимизации. KeenTuned как центральный модуль управления отвечает за мониторинг других компонентов, принятие и анализ команд от CLI, а также последовательное распределение задач согласно бизнес-процессам.
Сначала можно использовать KeenTuned либо собрав его из исходного кода, либо установив через репозиторий yum. Выберите один из следующих методов.
>> sh misc/install.sh
Сначала добавьте репозиторий yum. Если используется система Anolis OS 8 серия, то активируйте источник Plus путём изменения enabled=1
в /etc/yum.repos.d/AnolisOS-Plus.repo
.
[KeenTune]
baseurl=https://mirrors.openanolis.cn/anolis/8.6/Plus/$basearch/os
enabled=1
gpgkey=https://mirrors.openanolis.cn/anolis/RPM-GPG-KEY-ANOLIS
gpgcheck=0
Затем выполните установку:
yum clean all
yum makecache
yum install keentuned -y
Файл конфигурации можно найти по пути /etc/keentune/keentuned/conf/keentund.conf
.
[keentuned]
# Основные настройки демона KeenTune-Daemon(KeenTuned).
VERSION_NUM = 3.1.0 ; Записывает номер версии KeenTune
PORT = 9871 ; Порт доступа KeenTuned
HEARTBEAT_TIME = 30 ; Интервал проверки пульса (единица измерения: секунды), рекомендованное значение 30
# Время ожидания (единица измерения: минуты)
# время ожидания для бенчмарка
BENCHMARK_TIMEOUT = 30
# время ожидания для обучения чувствительности
SENSITIZE_TIMEOUT = 30
# время ожидания для установки целевой точки KeenTune
TARGET_SET_TIMEOUT = 30
KEENTUNED_HOME = /etc/keentune/keentuned ; Каталог по умолчанию для конфигураций KeenTuned
DUMP_HOME = /var/keentune/keentuned ; Каталог для хранения результатов выполнения задач KeenTune
; Конфигурация относительно выгрузки конфигураций
DUMP_BASELINE_CONFIGURATION = false ; Если выгружать базовую конфигурацию.
DUMP_TUNING_CONFIGURATION = false ; Если выгружать промежуточную конфигурацию.
DUMP_BEST_CONFIGURATION = true ; Если выгружать лучшую конфигурацию.
```# Создание резервной копии списка всех доменов для целевой цели
BACKUP_ALL = false
```; повторение бенчмарка
BASELINE_BENCH_ROUND = 5 ; количество раундов выполнения бенчмарка для базовой конфигурации
TUNING_BENCH_ROUND = 3 ; количество раундов выполнения бенчмарка во время настройки
RECHECK_BENCH_ROUND = 4 ; количество раундов выполнения бенчмарка после настройки для проверки; конфигурация логирования
LOGFILE_LEVEL = DEBUG ; Уровень логирования, то есть INFO, DEBUG, WARN, FATAL
LOGFILE_NAME = keentuned.log ; Название файла логирования.
LOGFILE_INTERVAL = 2 ; Интервал записи в файл логирования
LOGFILE_BACKUP_COUNT = 14 ; Количество резервных копий файлов логирования
[brain]
# Топология мозга и основная конфигурация мозга.
BRAIN_IP = localhost ; Адрес IP машины для развертывания keentune-brain.
BRAIN_PORT = 9872 ; Порт службы keentune-brain.
AUTO_TUNING_ALGORITHM = tpe ; Алгоритм автоматической настройки. Например, tpe, hord, случайный
SENSITIZE_ALGORITHM = Xsen ; Объяснитель обучения чувствительных параметров. Например, Xsen, SHAPKernel, XGBTotalGain, LASSO, MI, GP
[target-group-1]
# Топология группы целей и регулируемых параметров в целях.
TARGET_IP = localhost ; Адрес IP машины для развертывания keentune-target.
TARGET_PORT = 9873 ; Порт службы keentune-target.
PARAMETER = sysctl.json ; Регулируемые параметры в этой цели
[bench-group-1]
# Топология группы бенчмарков и скрипта бенчмарка для выполнения.
BENCH_SRC_IP = localhost ; Адрес IP машины для развертывания keentune-bench.
BENCH_SRC_PORT = 9874 ; Порт службы keentune-bench.
BENCH_DEST_IP = localhost ; Целевой адрес IP в нагрузочном тестировании.
BENCH_CONFIG = bench_wrk_nginx_long.json ; Конфигурационный файл бенчмарка для выполнения## Запуск
После изменения конфигурационного файла KeenTuned можно развернуть KeenTuned и начать отслеживание запросов как
```sh
$ keentuned
или развернуть keentuned с помощью systemctl
$ systemctl start keentuned
```## Структура кода
### API
api/ └── socket.go
0 директорий, 1 файл
### CLI
cli ├── command.go ├── main.go └── utils.go
0 директорий, 3 файла
### Демон
daemon/ ├── main.go ├── restful.go └── service.go
0 директорий, 5 файлов
### Общие
common/ ├── context.go ├── file.go ├── http.go ├── log.go ├── response.go └── utils.go
0 директорий, 6 файлов
### Модули
modules/ ├── benchgroup.go ├── brain.go ├── profile.go ├── self.go ├── sensitivity.go └── targetgroup.go
0 директорий, 6 файлов
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )