mysql не использует несколько процессоров

mysql не использует несколько процессоров

В последнее время наш сервер MySQL использует много ресурсов ЦП (он несколько раз достигал 100% и оставался там некоторое время), и я заметил, что вся нагрузка ЦП приходится на одно ядро ​​одного ЦП. Я надеялся распределить это на все 4 ядра моего сервера.

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

Кажется, все в этой теме относится к thread_concurrency (который, как я читал, является настройкой только для Solaris). Что я могу сделать в Linux?

Спасибо.

решение1

Вы правы, thread_concurrency только для Solaris и устарело в MySQL 5.6 и выше. Я не думаю, что вы можете использовать многоядерные процессоры с MyISAM. Чтобы полностью использовать оборудование, используйте InnoDB.

Этотможет помочь вам лучше понять вещи.

решение2

Правильное значение этой переменной зависит от среды и рабочей нагрузки. Вам нужно будет попробовать ряд различных значений, чтобы определить, какое значение подходит для ваших приложений. Рекомендуемое значение — это 2 раза больше числа ЦП и числа дисков.

Диапазон этой переменной — от 0 до 1000. Значение 20 или выше интерпретируется как бесконечный параллелизм до MySQL 5.0.19. Начиная с версии 5.0.19, вы можете отключить проверку параллелизма потоков, установив значение 0. Отключение проверки параллелизма потоков позволяет InnoDB создавать столько потоков, сколько необходимо.

http://dev.mysql.com/doc/refman/5.0/en/innodb-parameters.html#sysvar_innodb_thread_concurrency

решение3

Проще говоря, каждый запрос, выполняемый в MySQL, использует только одно ядро ​​ЦП, независимо от того, насколько многоядерным является движок InnoDB.

Все многоядерные оптимизации в MySQL помогают, когда у вас есть много разных запросов, работающих одновременно и требующих ресурсов ЦП и данных, но если у вас есть какой-то большой запрос, выполнение которого занимает минуты / часы, он всегда будет использовать только 1 ядро ​​ЦП. (И если вам необходимо выполнять такие запросы, вам следует покупать серверы с более высокой скоростью ЦП и меньшим количеством ядер.)

Связанный контент