Рекомендации по настройке из mysqltuner.pl: query_cache_limit

Скрипт mysqltuner.pl дает мне следующую рекомендацию:

query_cache_limit (> 1M, or use smaller result sets)

И выходные данные состояния MySQL показывают:

mysql> SHOW STATUS LIKE 'Qcache%';
+-------------------------+------------+
| Variable_name           | Value      |
+-------------------------+------------+
| Qcache_free_blocks      | 12264      | 
| Qcache_free_memory      | 1001213144 | 
| Qcache_hits             | 3763384    | 
| Qcache_inserts          | 54632419   | 
| Qcache_lowmem_prunes    | 0          | 
| Qcache_not_cached       | 6656246    | 
| Qcache_queries_in_cache | 55280      | 
| Qcache_total_blocks     | 122848     | 
+-------------------------+------------+
8 rows in set (0.00 sec)

Из выходных данных состояния выше, как я могу судить, требуется или нет предлагаемое увеличение query_cache_limit ?

10
задан knorv 11 April 2010 в 12:55
поделиться

1 ответ

Лучше всего создать некий тестовый харнесс, который выполняет реалистичную (определенную вашим сценарием) нагрузку на вашу базу данных, а затем запустить этот тест против MySql с различными настройками. Настройка - это такое искусство, что очень трудно дать исчерпывающий ответ, не зная ваших точных потребностей.

From http://dev.mysql.com/tech-resources/articles/mysql-query-cache.html:

The Qcache_free_memory counter дает представление о свободной памяти. Наблюдаемые низкие объемы по сравнению с общим выделенной для кэша, может указывать на недостаточный размер кэша, который может быть устранить, изменив глобальную variable query_cache_size.

Qcache_hits и Qcache_inserts показывают количество раз, когда запрос был обслуживался из кэша и сколько запросов было вставлено в кэш. Низкое соотношение количества просмотров и вставок указывает на незначительное повторное использование запросов или слишком низкое значение параметра query_cache_limit, который служит для регулирует объем оперативной памяти, выделенной для каждого отдельной записи кэша запросов. Большие большие наборы результатов запросов потребуют больших настройки этой переменной.

Еще одним показателем плохого повторного использования запросов является увеличение Qcache_lowmem_prunes значение. Это указывает на то, как часто MySQL приходилось удалять запросы из кэша для использования входящих запросов. Другие причины увеличения числа Qcache_lowmem_prunes являются недостаточный размер кэша, который не может вместить необходимое количество SQL-запросов и наборов результатов, и фрагментация памяти в кэше, которые могут быть уменьшены путем выпуска FLUSH QUERY CACHE оператора. Вы можете удалить все запросы из кэша с помощью команды RESET QUERY CACHE.

Счетчик Qcache_not_cached предоставляет представление о количестве операторов выполненных в MySQL, которые не были кэшируемыми, потому что либо были не-SELECT, либо из-за того, что явный запрет на ввод с помощью SQL_NO_CACHE hint.

Ваше соотношение хитов к вставкам составляет примерно 1:15 или 6%, так что похоже, что ваши настройки можно немного подправить (хотя, как я уже сказал, вы лучший судья в этом вопросе, поскольку лучше всего знаете свои требования).

18
ответ дан 3 December 2019 в 20:40
поделиться
Другие вопросы по тегам:

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