MySQL and Multi-Core processors

multi-coreMySQL

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 ?

Best Answer

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.

Related Topic