For: "whole system feels slow" and/or "rsync/scp is crawling and it's not network." Environment: NUC (Windows 10 host) β VMware Dev VM (CentOS 6.10) β Live (CentOS 6.10, 2 CPU/2GB RAM, 30GB SSD, forum.drugs-and-users.org)
Run top-to-bottom. Each block is cheap and rules things in/out fast β don't skip ahead on a hunch, but do skip a block entirely if it's already flagged "known false lead" below for this environment and nothing has changed since.
vmstat 1 5 β watch si/so (swap activity). Non-zero = memory pressure, real bottleneck.free -m β check swap used, not just RAM free.top/ps aux --sort=-%cpu β anything unexpected pegging a core.uptime β load average vs core count (2 cores = load >2 sustained is saturated).iostat -x 1 5 β high %util or await = disk is the bottleneck (SSD is 12+ years old on Live β degraded/failing SSD is a known plausible failure mode here).df -h β check for near-full disks (silently degrades MySQL/logging well before 100%).ps aux | grep -E 'rsync|scp' on BOTH ends β a stuck/orphaned prior transfer competing for bandwidth or I/O has caused this exact symptom before on this setup. Kill and retest before going further.iperf3 between the two ends in isolation from SSH/rsync overhead entirely (raw throughput, no crypto/protocol layer).dd-style raw copy of a large test file vs the rsync of the same file β isolates rsync/SSH overhead from raw transfer capacity.dmesg / /var/log/messages for filesystem errors, unclean-shutdown recovery, remounts.pvs/vgs/lvs for LVM-level errors.fsck only if the above shows something β do this from a live/rescue context, not from inside the running guest, since a previous in-guest fsck -f before a Clonezilla clone crashed the VM mid-check.filefrag, consistently clean./etc/hosts β ruled out.High baseline latency + ~10% packet loss on Andrew's own connection (~390β400ms RTT) was crushing single-stream sustained transfers via slow-start/retransmit cost, while short multi-stream speedtests looked fine. This time is explicitly stated as not a network issue β so if Β§1βΒ§5 all come back clean, the RTT/loss check is still worth 30 seconds of ping sanity before ruling it out entirely, since "not a network issue" was also the working assumption for months last time before it turned out to be exactly that.
If you've been through Β§1βΒ§5 with no smoking gun and the same fix has been tried more than once (or the same problem that was previously called resolved has come back β as it may have here, since the prior DevβLive rsync slowdown was marked resolved by recreating Live's /var/www/html), stop generating more same-domain guesses. Surface the full list of what's been checked and consider a domain jump (hardware, host-layer, or a fresh model's perspective) rather than another software-layer variant.