I think you need to work on the MySQL DB side, the bad performance is usually caused by bad SQL query or missing table index in the DB.
When the site is slow, in addition to slow query log, you can check "mysqladmin processlist" output, it will show which query blocks all other requests. Then...