I'm running MySQL on win2008 server on a multi-core xeon processor. It looks like it only uses a single core.

Is there something I need to configure to make it use all cores ?

The server is supporting a loaded website with many calls. I'm sure there are more than a single call at the same time, but yet the DB looks to handle anything in a single core.

What can I do to improve it ?

  • Have you checked the process' affinity settings in the task manager? – gekkz Aug 24 '11 at 20:28
  • What version of mysql are you using ??? – RolandoMySQLDBA Aug 24 '11 at 20:41
  • MySQL 5.0 & 5.1 are multithreaded, but I've also noticed that some functions (like Replication) will use 100% of one CPU on multiprocessor/multicore machine while the other cores sit their idle. – Stefan Lasiewski Aug 24 '11 at 22:02

If you want to be able to tune MySQL to utilize multiple cores, you need to upgrade to MySQL 5.5.

According to MySQL's Whitepaper "What’s New in MySQL 5.5 Performance and Scalability" from December 2010:

Control of Background I/O Threads – Users now have two new configuration parameters for all platforms, innodb_read_io_threads and innodb_write_io_threads that allow for the setting of the number of background threads used for read and write requests. This helps users tune and scale their MySQL applications on high-end, multi-core systems 􀁸 Control of Master Thread I/O Rate – Users can now configure the overall I/O capacity

The parameters mentioned are innodb_read_io_threads and innodb_write_io_threads.

These settings do not exist before MySQL 5.1.38. In fact, only the MySQL Plugin allows for these settings in MySQL 5.1. It is included in MySQL 5.5's native InnoDB.

Perhaps this Blog Post with give you more insight into InnoDB Scalablity for Multiple Core Servers.

  • It is 5.5, I'll check these parameters, and approve. – Dani Aug 25 '11 at 2:35

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.