I've got 16GB of ram, how should I configure MySQL Server? I've got a dedicated production server with multiple CPUs and 16GB of RAM.

How can I configure it to take advantage of server resources for better performance? Website traffic is increasing and MySQL starts using a lot of CPU.

This is my current MySQL server configuration.

I am also planning to optimize the database, and check the queries to improve the slow ones.
Please keep in mind that prior to MySQL 5.1.38, InnoDB was not designed to access multiple CPUs. You have one of two options to get MySQL to take advantage of multiple CPUs.


OPTION 1 : Install MySQL 5.5
OPTION 2 : Install MySQL 5.1 InnoDB Plugin


There are new options available since MySQL 5.1.38 (InnoDB Plugin Only) that is now fully available in MySQL 5.5

Rather rewrite what I wrote in past posts about this subject, please reads my past posts discussing those new settings:


About single threaded versus multithreaded databases performance
Possible to make MySQL use more than one core?
Multi cores and MySQL Performance


As for tuning all other aspects of MySQL, please refer to my past post about looking into disk space management and storage engine tuning : MySQL 5.1 InnoDB Configuration / 24GB RAM - bi-xeon high load