Я наблюдал за своим сервером последние два дня и понял, что 60% моих временных таблиц хранятся на жестком диске, а не в памяти. Также я запустил сценарий MySQL Performance Tuning Primer, который посоветовал мне установить query_cache_size.
Теперь, чтобы сделать это, я считаю, что мне нужно будет установить query_cache_size и join_buffer_size в my.cnf
К сожалению, у меня нет опыта редактирования файла my.cnf, поэтому я надеюсь, что кто-нибудь любезно мне поможет. Как я установил это, и какие я должен установить это?
my.cnf в настоящее время:
[mysqld]
set-variable = max_connections=500
safe-show-database
log_slow_queries = /var/log/mysql/log-slow-queries.log
slow_query_log = 1
long_query_time = 2
log-queries-not-using-indexes
Возможные значения (и другая информация) для конфигурации доступны в Справочное руководство по MySQL. Так, например, если бы я хотел добавить два указанных вами параметра, ваш /etc/my.cnf
config будет напоминать следующее:
[mysqld]
set-variable = max_connections=500
safe-show-database
log_slow_queries = /var/log/mysql/log-slow-queries.log
slow_query_log = 1
long_query_time = 2
log-queries-not-using-indexes
# (default: 0)
thread_cache_size = 4
# Replaces table_cache in 5.1.3 (default: 64)
table_open_cache = 128
# (default: 0), disables cache
query_cache_size = 8388608
Два значения, которые я использовал, были значениями по умолчанию, которые MySQL использует, если они не указаны. Обязательно укажите здесь свои значения!
ОБНОВЛЕНИЕ: в технических ресурсах MySQL также есть отличная статья о понимание кеша.