03.02.2020 11:06
OlegON
 
Некоторое время потратил на то, чтобы понять, требуется ли изменять параметры
query_cache_type
query_cache_size
в mariadb. Дело в том, что достаточно часто попадались сообщения об исключении этого параметра в MySQL, а остальные сообщения говорили о том, что на обслуживание кеша тратится столько времени, что есть смысл его включать только при десятикратном перевесе Qcache_hits над Qcache_inserts. Т.е. если внесли в кеш 1 раз и 10 раз оттуда прочитали, то это рационально. У меня на тот момент перевес был где-то 2/1. Естественно, я кеш отключил. В результате чего получил неплохой рост нагрузки на процессор.




Это явно не вязалось с всего лишь двукратным преимуществом чтений над вставками. Надо отметить, что после включения кеша картина вернулась к прежней.




Более того, мне удалось улучшить отношение чтений и записи, добавив к тем запросам, которые отрабатывали разово, подсказки. Например

SQL код:
select SQL_NO_CACHE row from table
Это позволило не тратить на внесение в кеш и поиск там тех результатов, которые запрашиваются раз в большой интервал времени. Например, поиск наименования по штрихкоду.

Воту меня текущие показатели (перезапускал недавно)

Код:
MariaDB [(none)]> SHOW STATUS LIKE 'Qcache%';
+-------------------------+----------+
| Variable_name           | Value    |
+-------------------------+----------+
| Qcache_free_blocks      | 4664     |
| Qcache_free_memory      | 13615352 |
| Qcache_hits             | 652080   |
| Qcache_inserts          | 165900   |
| Qcache_lowmem_prunes    | 15464    |
| Qcache_not_cached       | 14743    |
| Qcache_queries_in_cache | 23281    |
| Qcache_total_blocks     | 52634    |
+-------------------------+----------+
Резюме: Использовать query_cache можно и нужно.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.