Page 1 of 1

Slow speed per individual connection but overall speed is fine?

Posted: August 28th, 2021, 10:43 am
by SiliconKid
Hi

I'd like some insight into how SABnzbd is handling individual connections to usenet servers please.

I've just upgraded my internet connection from 200/100 Mbps to 500/250 Mbps.

My line actually tests at 530 Mbps down, no problem, and downloads of files from Microsoft etc. are using the full bandwidth available, or close to it.

530Mbps = 64 MB/s (MegaBytes/s) theoretical max.

The Netflix Fast test reports my connection speed as: 480 Mbps (obviously some overhead and loss because traffic is travelling from South Africa, I can accept that).

The only place I'm seeing an anomaly with download speeds is SABnzbd.

In SABnzbd any one individual connection to any of the 5 different UseNet servers in Europe and the US, that I have accounts for, will only download at a max of 2.5 MB/ and usually at more like 1.5MB/s to 1.8 MB/s.

If I run the speed tests in the SABnzbd status window I get these results:

System performance (Pystone) 122095 AMD Phenom(tm) II X6 1090
Download folder speed 169.1 MB/s
Complete folder speed 37.9 MB/s
Internet Bandwidth 51.5 MB/s (412 Mbps)

As you can see, the measured Internet Bandwidth is 51.5 MB/s. It's not the full 64MB/s theoretical max, but I can live with the loss of some overhead because of my distance from server etc.

If I start a test download (1GB file, 10GB file, doesn't matter) from that same Status window and I enable only 1 UseNet server and allow only 1 connection, the maximum speed of that 1 connection is never more than 2.5 MB/s, absolute best case scenario.

The question is, why?

My UseNet provider accounts are all premium unlimited accounts that are supposed to allow you to download from those servers at the maximum speed your connection can handle, which according to SABnzbd itself is 51.5 MB/s, as shown above.

Providers: NewsDemon, EuNews, AstraWeb, BlockNews, TweakNews.

Obviously if I enable multiple servers and 25 connections on each server, I can then force SABnzbd to use the full 51.5MB/s by sheer virtue of the number of parallel connections being used, despite each individual connection being so slow.

I would really like to understand what is causing each individual connection to the remote servers to be so incredibly slow in comparison to what my line is actually capable of, and performs at, in every other scenario.

I've also tried to connect to the servers over VPN (IPVanish) to eliminate the possibility that my ISP is throttling UseNet traffic explicitly, and I still encounter the same speed limitations with the exact same upper limit per individual connection. When connected over VPN, any other speed test I do reports a download speed of around 350 Mbps at least, which is still over 10 times faster than an individual connection to a server in SABnzbd.

I've even tried disabling IPv6 on this box, just to see if that would help, and it did slightly increase the per connection speed, but only by about 0.3 MB/s, so nothing radical achieved there.

Does SABnzbd intentionally reduce the speed of each individual connection and expect us to configure many parallel connections in order to achieve full saturation of our down links? I wouldn't expect that to be the case.

Or should SABnzbd actually be using the full available 51.5 MB/s for even a single connection to one of the UseNet servers, provided the server allows unlimited speed connections?

Looking online I see articles written by other people who have tested connection speeds to UseNet servers and have seen far higher connection speeds.

They show connection speeds of up to 70MB/s using NZBGet. (UPDATE: The speeds reflected in the online tests actually appear to be the consolidated overall speed across across all parallel connections and NOT the speed of a single connection / thread ie. The speed you see in SAB and NZBGet as your overall "download speed").

Any information on this would be appreciated because no matter what I do, I cannot seem to get around these very slow per connection speeds.

I'm also puzzled that SABnzbd itself is reporting an Internet Bandwidth of 51.5MB/s itself, in it's own Status window, but then proceeds to download at only 2.5 MB/s from the servers.

Any and all input appreciated.

Allan

Re: Slow speed per individual connection but overall speed is fine?

Posted: August 28th, 2021, 1:58 pm
by sander
That's how newsSERVERS work. Not a limitation on the side of newslients like SABnzbd nor NZBget.

Typically a newsserver will give a few MB/s per connection. FWIW: I tried with eweka, and 1 connection gives 9 MB/s. To achieve higher speeds, newsservers offer multiple connections. As you experienced.

I don't know if that is a technical limitation (you ask for a article, the newsservers looks for that article on the disks (which takes time), and then provides that article, and then waits for the next article request), or is limited by choice on the newsserver.

Re: Slow speed per individual connection but overall speed is fine?

Posted: August 29th, 2021, 12:48 am
by SiliconKid
Hi sander

Thanks for taking the time to read my long post and post a decent answer.

I tried NZBGet yesterday as a comparison and the performance there is identical to SAB, so as you say, nothing to do with the clients, which was my assumption all along anyway.

It's an interesting topic because the UseNet providers claim they offer unlimited UP speeds, but in reality if they are capping the number of parallel connections and also capping the max speed per connection, then clearly it's not actually unlimited UP speed.

I think historically it made sense for them to say it was unlimited because home users didn't have internet connections that were fast enough to achieve the max they were offering even with a cap on number of connections and speed per connection.

Now that home users have Gigabit and half Gigabit lines, its much easier for them to consume the full speed that the providers are offering.

Re: Slow speed per individual connection but overall speed is fine?

Posted: August 29th, 2021, 4:26 am
by safihre
Articles on usenet are limited to maximum 1MB in size. So there's a lot of overhead in the "request article", "wait for article", "get article" flow as Sander said.
Indeed seeing around 2-5MB/s per connection is normal, but also the reason many providers offer 50 or even 100 connections nowadays.