Кэширование запроса MySQL: ограниченный максимальным размером кэша 128 МБ?

Мое приложение является очень базой данных, интенсивной, таким образом, я попытался действительно трудно удостовериться, что приложение и база данных MySQL работают максимально эффективно вместе.

В настоящее время я настраиваю кэш запроса MySQL для получения его в соответствии с характеристиками запросов, выполняемых на сервере.

query_cache_size максимальный объем данных, который может быть сохранен в кэше и query_cache_limit максимальный размер единственного набора результатов в кэше.

Мой текущий кэш запроса MySQL настроен следующим образом:

query_cache_size=128M
query_cache_limit=1M

tuning-primer.sh дает мне следующие настраивающие подсказки о рабочей системе:

QUERY CACHE
Query cache is enabled
Current query_cache_size = 128 M
Current query_cache_used = 127 M
Current query_cache_limit = 1 M
Current Query cache Memory fill ratio = 99.95 %
Current query_cache_min_res_unit = 4 K
However, 21278 queries have been removed from the query cache due to lack of memory
Perhaps you should raise query_cache_size
MySQL won't cache query results that are larger than query_cache_limit in size

И mysqltuner.pl дает следующие настраивающие подсказки:

[OK] Query cache efficiency: 31.3% (39K cached / 125K selects)
[!!] Query cache prunes per day: 2300654

Variables to adjust:
    query_cache_size (> 128M)

Оба настраивающихся сценария предлагают, чтобы я повысил query_cache_size. Однако увеличение query_cache size по 128M может уменьшить производительность согласно mysqltuner.pl (см. http://mysqltuner.pl/).

Как Вы занялись бы этой проблемой? Вы увеличили бы query_cache_size несмотря на mysqltuner.plпредупреждение или попытка скорректировать логику запросов в некотором роде? Большая часть доступа к данным обрабатывается, в спящем режиме, но довольно много кодированного рукой SQL используется в приложении также.

30
задан KęstutisV 22 August 2014 в 02:13
поделиться

1 ответ

Обычно предусмотрены предупреждения «Слишком большой размер кэша», выпускаются в предположении, что у вас мало физических воспоминаний и самого кэша, ну нужно поменяться или принять ресурсы, которые требуются ОС. (как кэш файла).

Если у вас достаточно памяти, безопасно увеличить размер Query_cache (я видел установки с 1 ГБ кэш запроса).

Но вы уверены, что вы используете кэш запроса вправо? Есть много Verbatim повторяется запросов? Не могли бы вы опубликовать пример типичного запроса?

14
ответ дан 27 November 2019 в 23:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: