Sometimes MySQL just slows down and it is hard to find where the issue is. One of the best ways I have found to start investigating is to watch the processes during the affected times. If you are logged into your MySQL terminal it is simple:
This will show you each connection, and the state of it and the status of the query. A lot of times during trouble you may see a connection sleeping for a long time, or a locked table, or other such things that help begin to solve the mystery.
Navicat has a server monitor GUI that helps you visualize the process list and can watch multiple servers at once.