When something feels slow, the goal is to find the bottleneck, not to guess. Here is a small routine that catches most issues quickly.
1) CPU and load
top -o cpu
uptime
2) Memory pressure
vm_stat
sysctl vm.swapusage
3) Disk and IO
df -h
iostat -w 1
4) DNS
dig +short example.com
scutil --dns | head
5) Routing / reachability
ping -c 3 1.1.1.1
traceroute 1.1.1.1
The win is consistency. If you always check the same items in the same order, you stop chasing noise.