Well first of all, when it occurs, you need to find out what application is causing the load. Is it only MySQL basically running on this machine? Any other applications? Have you done any performance tuning on the database? How much memory, CPU? How many users hit the front end servers that hit the database at any given time? Is it at the same time these spikes occur? Is it any type of cron jobs running that could be causing the problems?
More details get better responses, without specific details, we're just as lost as you are working in the dark..