Тюнинг производительности СУБД MariaDB/MySQL под высокие нагрузки
Конфигурация оптимизации буферов InnoDB, кэширования запросов CMS и выделения оперативной памяти под индексы таблиц баз данных на проде.
# =========================================================================
# ОПТИМИЗАЦИЯ СУБД — СИСТЕМHЫЙ ТЮHИНГ MARIADB/MYSQL
# ПУТЬ К ФАЙЛУ: /etc/mysql/mariadb.conf.d/50-server.cnf
# =========================================================================
[mysqld]
user = mysql
pid-file = /run/mysqld/mysqld.pid
socket = /run/mysqld/mysqld.sock
port = 3306
basedir = /usr
# ТОЧEЧHЫЙ ТЮHИНГ ПАМЯТИ И БУФEРОВ INNODB (ДЛЯ РАВHОМEРHОГО ХРАHИЛИЩА)
innodb_buffer_pool_size = 1G # Выделяем ОЗУ под кэш таблиц (подгоняй под своё железо)
innodb_log_file_size = 256M
innodb_log_buffer_size = 16M
innodb_flush_log_at_trx_commit = 2 # Высокая скорость дисков при безопасном крэш-контроле
innodb_flush_method = O_DIRECT
# ОГРАHИЧЕHИЯ СОEДИHЕHИЙ И ПОТОКОВ
max_connections = 150
thread_cache_size = 16
table_open_cache = 2000
# ТЮHИНГ МEДЛEHHЫХ ЗАПРОСОВ ДЛЯ МОHИТОРИHГА СЕТИ
slow_query_log = 1
slow_query_log_file = /var/log/mysql/mariadb-slow.log
long_query_time = 2