the first thing I look at when system is slow is cpu wait time in the top output (highlighted)
%Cpu(s): 2,5 us, 0,8 sy, 0,0 ni, 96,5 id, 0,0 wa, 0,0 hi, 0,2 si, 0,0 st
that may indicate spurious interrupts (eg usb bad contact) or IO wait (swap or heavy io-bound process). Spurious interrupts will also raise up hi/si/st metrics. If that is all low, system is idle but load average is high - usually means cpu got stuck at low freq (eg throttling).