Sometime last year my plex server speeds became unbearably slow. I’m using a client in WA, while the server is hosted in MA. Firstly the server is getting slower speeds than it should (advertised as 880 mbps upload but I’m getting about 160) but that’s probably an issue with the networking setup. What I have no clue about is that the plex speeds from the server to my client are like 2 mbps (at least when using convert automatically, that’s where it ends up after a couple minutes). Yet when I ran an iperf test from the server to my client, I got about 300 mbps, which aligns with the upload speed the server got from the speedtest-cli. (added tests below that show actual speeds in both directions)
Anyone have any idea how to debug this? At first I thought it was my ISP throttling me but if that were the case then iperf would’ve been bad? Or could it be a specific port being throttled?
Here’s a comparison of speedtest-cli running on the media server, first to WA, then to a nearby one:
❯ speedtest -s 1782
Speedtest by Ookla
Server: Comcast - Seattle, WA (id: 1782)
ISP: Verizon Fios
Idle Latency: 75.39 ms (jitter: 0.69ms, low: 73.64ms, high: 76.14ms)
Download: 715.17 Mbps (data used: 1.2 GB)
111.14 ms (jitter: 32.00ms, low: 71.61ms, high: 151.41ms)
Upload: 15.93 Mbps (data used: 31.4 MB)
107.95 ms (jitter: 29.96ms, low: 70.75ms, high: 144.84ms)
Packet Loss: Not available.
❯ speedtest
Speedtest by Ookla
Server: Verizon - Boston, MA (id: 29094)
ISP: Verizon Fios
Idle Latency: 7.69 ms (jitter: 1.66ms, low: 4.67ms, high: 8.24ms)
Download: 589.56 Mbps (data used: 288.0 MB)
7.25 ms (jitter: 7.62ms, low: 4.00ms, high: 223.35ms)
Upload: 168.80 Mbps (data used: 157.9 MB)
5.22 ms (jitter: 0.71ms, low: 4.41ms, high: 29.39ms)
Packet Loss: 0.0%
Now here’s an iperf test from the media server to my client (and then reverse for the other direction):
❯ iperf -c xxx -p 5201
------------------------------------------------------------
Client connecting to xxx, TCP port 5201
TCP window size: 85.0 KByte (default)
------------------------------------------------------------
[ 1] local xxx port 35420 connected with xxx port 5201
[ ID] Interval Transfer Bandwidth
[ 1] 0.0000-11.0835 sec 382 MBytes 289 Mbits/sec
❯ iperf -c xxx -p 5201 -R
------------------------------------------------------------
Client connecting to xxx, TCP port 5201
TCP window size: 85.0 KByte (default)
------------------------------------------------------------
[ 1] local xxx port 41334 connected with xxx port 5201 (reverse)
[ ID] Interval Transfer Bandwidth
[ *1] 0.0000-12.0158 sec 9.09 MBytes 6.34 Mbits/sec
Actually after looking up how iperf works, it seems that 6.34 mbps is the server (MA) to client (WA) speed, which aligns with the plex speeds actually. So then the question is how do I fix this?


