Sudden periods of performance degradation
During that period can you get a list of the sql processes running?

show full processlist;


Is this a server where you don't have root access to the actual OS like in AWS?

If you do have root access and this is something you can research it might be unrelated to MySQL, i.e., some other process on the server is affecting performance. This might be out of scope of the question but use iostat, top, free for utilities to use in that regard.

For MySQL specific strategies you can also enable the query log which will log every query. Careful with this because it'll fill up disk very quickly depending on query traffic. Also requires a restart. If you can't do that then you probably want to watch traffic on the wire:

tcpdump -i any -s0 -A -n -nn port 3306


or

tcpdump -i any -s0 -A -n -nn port 3306 -w /tmp/mysql.pcap


to output to a file and then view with a UI tool like Wireshark. Then you can see the actual queries running.