MySQL и многоядерные процессоры

8

Я использую MySQL на сервере win2008 на многоядерном процессоре xeon. Похоже, он использует только одно ядро.

Что-то мне нужно настроить, чтобы использовать все ядра?

Сервер поддерживает загруженный сайт с множеством звонков. Я уверен, что одновременно происходит больше, чем один вызов, но, тем не менее, БД пытается обрабатывать что-либо в одном ядре.

Что я могу сделать, чтобы улучшить это?

Дани
источник
Вы проверили настройки соответствия процесса в диспетчере задач?
gekkz
Какую версию mysql вы используете ???
RolandoMySQLDBA
MySQL 5.0 и 5.1 являются многопоточными , но я также заметил, что некоторые функции (например, Replication) будут использовать 100% одного процессора на многопроцессорной / многоядерной машине, в то время как другие ядра бездействуют.
Стефан Ласевский

Ответы:

7

Если вы хотите настроить MySQL для использования нескольких ядер, вам необходимо выполнить обновление до MySQL 5.5.

Согласно официальному документу MySQL «Что нового в MySQL 5.5 Производительность и масштабируемость» от декабря 2010 года:

Управление фоновыми потоками ввода / вывода. Теперь у пользователей есть два новых параметра конфигурации для всех платформ: innodb_read_io_threads и innodb_write_io_threads, которые позволяют задавать количество фоновых потоков, используемых для запросов на чтение и запись. Это помогает пользователям настраивать и масштабировать свои приложения MySQL в высокопроизводительных многоядерных системах. 􀁸 Контроль скорости ввода-вывода главного потока. Теперь пользователи могут настраивать общую емкость ввода-вывода.

Упомянутые параметры: innodb_read_io_threads и innodb_write_io_threads .

Эти настройки не существуют до MySQL 5.1.38. Фактически, только MySQL Plugin разрешает эти настройки в MySQL 5.1. Он включен в собственный InnoDB MySQL 5.5.

Возможно, эта запись блога поможет вам лучше понять масштабируемость InnoDB для многоядерных серверов .

RolandoMySQLDBA
источник
Это 5.5, я проверю эти параметры и утвердлю.
Дани