Назад | Перейти на главную страницу

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

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

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

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

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

Если вы хотите настроить 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 допускает эти настройки в MySQL 5.1. Он включен в InnoDB MySQL 5.5.

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