My server has high CPU load due to MySQL processes. I need this fixed. I will need someone to:
--monitor mysql processes or check mysql logs to see what kind of queries are being made. Find bad queries and make them better.
--go through the table structures and indexes and optimize them as well (such as column data types, index types, etc).
--check mysql settings to make sure they are at optimal settings.
--check possible server problems that could cause the problem
The problem in more detail: 1 minute load average stays around 4 (there are 4 cores on the server), and 15 minute average varies a lot, but is generally around 15. Sometimes the 1 minute average jumps to 30 or more. Looking at the mysql processlist, sometimes it looks normal, with little to no mysql queries, then all of a sudden there could be a hundred as the tables are locked up. It is not an issue with persistent connections. All of a sudden there are too many connections and mysql needs to restart.
Fixing the problem may also need some monitoring. For example, in the past before I got my new server, this problem would only happen in the morning (I checked all crons, they were not the problem). Now it seems more often. Not sure what happened since then.
Just as a note for everyone: this project's main goal is not to simply optimize mysql. It is to fix this problem so that my server runs smoothly without any mysql downtime.