Настройка mysql кеша запросов в MariaDB

MariaDB не собирается прекращать поддержку кеша запросов в отличии от MySQL, но начиная с версии 10.1.7 он отключен по умолчанию. Перед включением необходимо проверить следующие настройки сервера:

  1. have_query_cache — расскажет поддерживается ли кеширование на нашем сервере
  2. query_cache_size — объем памяти выделяемый для кеширования запросов
  3. query_cache_type — включен ли кеш запросов и в каком режиме.
mysql -e "SHOW VARIABLES WHERE VARIABLE_NAME LIKE '%have_query_cache%' OR VARIABLE_NAME LIKE '%query_cache_size%' OR VARIABLE_NAME LIKE '%query_cache_type%'"
have_query_cache
Проверяем настройки кеша mysql

Установку глобальных переменных, настраивать будем внося изменения в /etc/mysql/my.cnf

nano /etc/mysql/my.cnf
query_cache_size = 20971520
query_cache_type = 1

После укзазания переменной query_cache_size отличным от умолчания(установил в 20 МБ), кеш должен был включиться автоматически, но на всякий явно добавим query_cache_type = 1 Проверим настройки:

service mysql restart;
mysql -e "SHOW VARIABLES WHERE VARIABLE_NAME LIKE '%have_query_cache%' OR VARIABLE_NAME LIKE '%query_cache_size%' OR VARIABLE_NAME LIKE '%query_cache_type%'";
mysql query cache
Проверяем настройки кеша

Пришло время проверить ускорение наших приложений. По утверждению разработчиков, данные манипуляции имеет смысл производить, если в базе большинство запросов юзающих выборку, а не вставку и обновление строк. В принципе большинство бд именно такие.

Проверим статистику кеша mysql

mysql -e "show status like '%Qcache%'"
Статистика кеша mysql
Статистика кеша mysql

Ну и для очистки кеша используем FLUSH QUERY CACHE;

Оставить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *