Better internet streaming using multiple parallel connections (or threads)

+1 still needed.

1 Like

I don’t expect parallel streaming to be implemented, for a million reasons, but I’ll reiterate that more-modern TCP congestion control is a HUGE improvement.

2022 update: macOS Monterey and Ventura haven’t added support for BBR.


If running PMS on Linux, BBR is still good stuff. It’s absolutely worth enabling.


Windows Server 2022 doesn’t have BBR, but it does have RACK, and 2022 has dramatically better TCP behavior than previous versions of the OS.

Algorithmic improvements boost TCP performance on the Internet - Microsoft Community Hub

I’m unclear if the same changes have reached Windows 11 - there are comments on that post. I haven’t been able to confirm personally. But up-to-date Windows 11 has also seen huge improvements, and another big fix was made this month.

In Detail: Windows 11 TCP/IP Congestion Control Improvements

Any updates on this? I’m finding single stream TCP sessions are brutal while I’m ~200ms away overseas achieving about 500-800kbps. But starting up 10 TCP sessions nets me ~9Mbps which would be more than enough for me to enjoy my plex content. Validated using iperf3.

Edit: 20 sessions with a receive window of 2MB gets me around 20Mbps which is my home ISP’s speed.

What server OS are you using? If it’s Linux, have you tried enabling BBR?

It’s really unlikely that Plex will add support for parallel connections because of the complexity and client-side implications.

Neat news - Google plans to submit BBRv3 as an update to the Linux kernel for inclusion this month.

https://datatracker.ietf.org/meeting/117/materials/slides-117-ccwg-bbrv3-algorithm-bug-fixes-and-public-internet-deployment-00

https://github.com/google/bbr/blob/v3/README.md

Here, a much older paper describing BBR. Search for ā€œGoodputā€, there is a compelling chart.

https://dl.acm.org/doi/fullHtml/10.1145/3012426.3022184

W10 unfortunately. I did kinda find a hacky work around by using a firefox extension ā€œTurbo Download Managerā€ which will multi-thread a download. I can grab original files from plex ā€œSave fileā€ at full speed and play them locally for now. It sucks but meh.

W11 supports BBR!

Very cool V! I’ll definitely consider upgrading.

I was able to fix W10 by enabling RFC1323 options in the registry.

The Tcp1323Opts value in the following registry key can be added to control scaling windows and timestamp:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters

1. On the toolbar, select Start > Run, and then type Regedit to start the Registry Editor.
2. In the Registry Editor, select Edit, point to New, and then select DWORD Value.
3. In the New Value box, type Tcp1323Opts, press ENTER, and then on the Edit menu, select Modify.

I set the value to 3 which enables both window scaling and timestamps. I’m able to stream from the other end of the world (~200ms) without any issues whatsoever now :grin:

TBH it feels kinda stupid that Microsoft wouldn’t have these enabled by default.

1 Like

Nice! I haven’t had such significant results from Tcp1323Opts. I’m thrilled that worked for you - maybe it will help others, too.

That may be because they’re only needed if you want to disable these TCP features. They’re enabled by default from Windows 10 on.

Ahh, thanks. I see that in the docs and agree.

I remember when they could be enabled for Server, and then were on by default for Server (2008 maybe? don’t quote me).

Microsoft has really made a ton of improvements in Windows TCP/IP in the last 20 years.

I’m running Server 2016, and timestamps is disabled by default. Must have been enabled in later server versions. Maybe someone can confirm when exactly.

It’s (per the documentation) enabled by default in W10, Server 2012 R2, Server 2016, so while the Tcp1323Opts value isn’t present, it should still be enabled.

Description of Windows TCP features - Windows Server | Microsoft Learn

Applies to: Windows 10 – all editions, Windows Server 2012 R2

Timestamps and Window scaling are enabled by default

Yeah, I saw that and ran ā€œnetsh int tcp show globalā€. My Windows 11 box shows windows scaling as enabled and timestamps as allowed, while my Server 2016 box shows windows scaling as enabled and timestamps as disabled. I have never messed with those settings or anything related on either computer. YMMV, of course.

1 Like

You’re right, I had a temporary good experience so there must have been something coinciding with the timing of the meaningless change I did and the health of the trans-pacific link. Ran into issues again last night unfortunately.

1 Like

lol , is it still the case?

hi there.
only seven years of waiting?

I have gobs of bandwidth, and room for many concurrent connections. And any that are anywhere in the US, have no problem doing so at 15Mbps 1080. However overseas, even with friends who also have gobs of bandwidth, connections vary as low as 2 because of intermediate hops. Plex should be sending a more adaptive stream to not be as effected by hops.

Holding my breath right now. One of my users lives in South Korea and is getting 5mbps speed. I’m hoping this fixes his issues! Thank you in advance!

I would love if this was a thing! xD