Mysql снижает использование процессора за счет буферизации - PullRequest
2 голосов
/ 25 ноября 2010

Мой Mysql-сервер сильно загружен, теперь его скорость составляет 300 кадров в секунду.

В среднем он использует% 50 ЦП и только 700 МБ ОЗУ.Мой сервер имеет 8 ГБ и более 3 ГБ.Медленный журнал запросов выглядит нормально.Их очень мало и они не часты.

Я хочу быть уверен, что он возвращает результаты в кешировании и не трогает диск без необходимости.

Я думаю, что операционная система linux кэширует файл innodb, но могу ли я доверять этому?И есть ли полезная практика для снижения использования процессора с помощью буферизации или кэширования?

innodb_buffer_pool_size имеет значение по умолчанию.(8mb)

У меня смешаны таблицы Innodb, MyIsam и Memory.

Вот вывод из скрипта тюнера

INNODB STATUS
Current InnoDB index space = 238 M
Current InnoDB data space = 294 M
Current InnoDB buffer pool free = 0 %
Current innodb_buffer_pool_size = 8 M

KEY BUFFER
Current MyISAM index space = 113 M
Current key_buffer_size = 192 M
Key cache miss rate is 1 : 63
Key buffer free ratio = 74 %
Your key_buffer_size seems to be fine

QUERY CACHE
Query cache is enabled
Current query_cache_size = 256 M
Current query_cache_used = 19 M
Current query_cache_limit = 1 M
Current Query cache Memory fill ratio = 7.64 %
Current query_cache_min_res_unit = 4 K
Query Cache is 28 % fragmented

1 Ответ

1 голос
/ 26 ноября 2010

Поскольку у вас есть 3 ГБ свободного места, увеличьте значение innodb_buffer_pool_size для хранения всего набора данных innodb (данные + индекс).

Дайте ему 1G, чтобы у него была передышка. Вы не пожалеете об этом. :)

...