1. Главная
  2. /
  3. DataBases
  4. /
  5. MySQL встроенный механизм кэширования запросов

MySQL встроенный механизм кэширования запросов

mysql
Как выяснилось, MySQL содержит встроенный механизм кэширования запросов, который, однако не включен по умолчанию.
Проверить какие параметры кэширования выставленны по умолчанию, можно с помощью следующего запроса:


mysql> show variables like 'query_cache%';
+------------------------------+---------+
| Variable_name                | Value   |
+------------------------------+---------+
| query_cache_limit            | 1048576 |
| query_cache_min_res_unit     | 4096    |
| query_cache_size             | 0       |
| query_cache_type             | ON      |
| query_cache_wlock_invalidate | OFF     |
+------------------------------+---------+


Чтобы выделить под кеширование 32Мб оперативной памяти на лету, м ожно выполнить следующий запрос:


set @@global.query_cache_size=32*1024*1024;

чтобы данная настройка не слетала при перезагрузке, необходимо добавить в my.cnf в подраздел [mysqld] строчку


query_cache_size=32M

Проверим текущее состояние кэша:


mysql> SHOW GLOBAL STATUS LIKE ‘Qcache%’;
+-------------------------+----------+
| Variable_name           | Value    |
+-------------------------+----------+
| Qcache_free_blocks      | 973      |
| Qcache_free_memory      | 14282000 |
| Qcache_hits             | 3293750  |
| Qcache_inserts          | 252819   |
| Qcache_lowmem_prunes    | 0        |
| Qcache_not_cached       | 66645    |
| Qcache_queries_in_cache | 1342     |
| Qcache_total_blocks     | 3709     |
+-------------------------+----------+
8 rows in set (0.00 sec)

Qcache_free_memory – объем свободной памяти, отведенной под кэш.
Qcache_hits – количество запросов, отработанных из кэша.
Qcache_inserts – количество вставок запросов в кэш.
Qcache_lowmem_prunes – количество высвобождений памяти из-за наполненности кэша.
Qcache_not_cached – количество запросов, не подлежащих кэшированию.
Qcache_queries_in_cache – количество запросов, находящихся в кэше в настоящее время.
Мерой эффективности кэша может служить отношение


Qcache_hits / (Qcache_inserts + Qcache_not_cached)

25 069 / (11 196 + 916) = 2.06976552 (каждый второй запрос выполняется из базы)
3 293 750 / (252 819 + 66 645) = 10.3102384 (каждый 10 запрос выполняется из базы)

Поделиться ссылкой на статью

Добавить комментарий

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

Заполните поле
Заполните поле
Пожалуйста, введите корректный адрес email.
Вы должны согласиться с условиями для продолжения

Категории

Меню