MySQL - как включить кеширование запросов - query cache size: различия между версиями
Материал из Wiki - Iphoster - the best ever hosting and support. 2005 - 2024
Admin iph (обсуждение | вклад) (Новая страница: « Ставим значение: query_cache_size = 128M и перезапускаем mysql <br /> Проверяем командой mysql> show variab…») |
Admin iph (обсуждение | вклад) |
||
Строка 43: | Строка 43: | ||
'''Qcache_hits''' количество запросов которые отданных из кеша | '''Qcache_hits''' количество запросов которые отданных из кеша | ||
'''Qcache_free_memory''' размер свободной памяти кеша | '''Qcache_free_memory''' размер свободной памяти кеша | ||
+ | |||
+ | |||
+ | Ограничить кэш на один запрос sql можно с помощь | ||
+ | query_cache_limit = 32M | ||
Версия 12:56, 28 декабря 2020
Ставим значение:
query_cache_size = 128M
и перезапускаем mysql
Проверяем командой
mysql> show variables like 'query_cache%'; +------------------------------+-----------+ | Variable_name | Value | +------------------------------+-----------+ | query_cache_limit | 1048576 | | query_cache_min_res_unit | 4096 | | query_cache_size | 268435456 | | query_cache_type | ON | | query_cache_wlock_invalidate | OFF | +------------------------------+-----------+ 5 rows in set (0.00 sec)
После этого в течении дня мониторим Qcache_lowmem_prunes - количество освобожденной памяти из за нехватки кеша:
mysql> SHOW GLOBAL STATUS LIKE 'Qcache%'; +-------------------------+-----------+ | Variable_name | Value | +-------------------------+-----------+ | Qcache_free_blocks | 2432 | | Qcache_free_memory | 183739480 | | Qcache_hits | 43241 | | Qcache_inserts | 23768 | | Qcache_lowmem_prunes | 0 | | Qcache_not_cached | 18702 | | Qcache_queries_in_cache | 10302 | | Qcache_total_blocks | 23400 | +-------------------------+-----------+ 8 rows in set (0.00 sec)
Если значение не 0, значит кэша не хватает. В идеале должно быть 0.
Qcache_hits количество запросов которые отданных из кеша Qcache_free_memory размер свободной памяти кеша
Ограничить кэш на один запрос sql можно с помощь
query_cache_limit = 32M
Для DLE - нужно включить "Кешировать счетчик просмотров новостей":
# vi engine/data/config.php 'cache_count' => '1',
Кешировать счетчик просмотров новостей Если 'Нет', то счетчик просмотров новостей будет обновляться с каждым просмотром. Если 'Да', количество просмотров будет записываться в другую таблицу и обновляться каждые 4 часа. Включение данной опции позволяет сэкономить процессорное время для больших сайтов.
Почему нельзя ставить большое значение:
При слишком большом значении query_cache_size - идут накладные расходы на управление самим кешем, что вызовет понижение проивзодительности.