1С-Битрикс: Низкие показатели MySQL в мониторе производительности (Решение) — версия 2.0
- 18 октября, 2022
- 2:18 пп
- Нет комментариев
Ранее несколько лет назад я писал статью: https://moovix.ru/blog/fixes/1%d1%81-%d0%b1%d0%b8%d1%82%d1%80%d0%b8%d0%ba%d1%81-%d0%bd%d0%b8%d0%b7%d0%ba%d0%b8%d0%b5-%d0%bf%d0%be%d0%ba%d0%b0%d0%b7%d0%b0%d1%82%d0%b5%d0%bb%d0%b8-mysql-%d0%b2-%d0%bc%d0%be%d0%bd%d0%b8%d1%82%d0%be/
сейчас прошло время и хочу к ней выпустить дополнение
Оптимизация MySQL InnoDB для 1С-Битрикс
Редактируем файл /etc/mysql/my.cnf и правим значения в секции [mysqld]. Ниже указаны значения влияющие на скорость работы БД MySQL
Перед внесением изменений остановите MySQL командой servicemysql stop.
[mysqld]
innodb_flush_method= O_DIRECT
table_open_cache = 1200
transaction-isolation = READ-COMMITTED
innodb_flush_log_at_trx_commit = 2
innodb_log_buffer_size = 8M
innodb_log_file_size = 32M
После изменения запускаем сервер service mysql start
Описание параметров
innodb_flush_method — отключает двойную буферизацию mysql и операционной системы
table_open_cache — количество кэшированных открытых таблиц для всех потоков. Данное значение возможно потребуется увеличить (зависит от нагрузки и от используемой редакции для сайта)
transaction-isolation — уровень изоляции транзакций
innodb_flush_log_at_trx_commit — отменяет сброс данных на диск при каждой транзакции (ощутимое ускорение работы).
innodb_log_buffer_size — размер буфера лога, рекомендуемый размер 8Мб
innodb_log_file_size — максимальный размер одного лог-файла. Увеличение размера улучшит производительность, но и увеличит время восстановления данных. Рекомендуемый диапазон от 32 до 512 Мб
Текущую конфигурацию вашего сервера БД, а так же рекомендуемые параметры можно посмотреть: http://ваш-сайт/bitrix/admin/perfmon_db_server.php?lang=ru