How Many Concurrent TCP Connections Does An Average Internet User Consume?

11

I'm about to buy a router for a location where there are usually 10~20 guests using their laptops/smartphones/tablets for connecting to the Internet.

My router of choice has a cheaper variant that handles 10,000 concurrent sessions while the more expensive one's limit is 30,000.

I can't really interpret what does that in practice mean.

It should be an easy math: required capacity = nr. of users X nr. of connections per user.

Approximately how many concurrent connections does an "average" user consume?
With average I mean: A user that browses the net, watches youtube, reads email and so on. I'm OK with an approximate nr.

Attila Fulop

Posted 2017-05-07T12:57:18.833

Reputation: 403

Your question is impossible to answer. What is an average user? – DavidPostill – 2017-05-07T12:58:20.827

@DavidPostill One that browses the net, watches youtube, reads email and so on. I'm OK with an approximate nr. – Attila Fulop – 2017-05-07T13:05:33.273

We are not here to do your research for you. – DavidPostill – 2017-05-07T13:07:06.870

@DavidPostill How would you calculate if 10000 sessions are enough for that load or not? – Attila Fulop – 2017-05-07T13:08:47.350

Well you could measure how many connection you are using. – DavidPostill – 2017-05-07T13:10:11.920

@DavidPostill You may consider to be nice and release this question from hold. I did my research and haven't yet seen this question asked and answered. I guess there are some people who could give me a good rule of thumb based on their professional experience. – Attila Fulop – 2017-05-07T13:16:10.537

If I reopen it it will get closed again as "opinion based". – DavidPostill – 2017-05-07T13:17:26.530

"I guess there are some people who could give me a good rule of thumb based on their professional experience." - We are not looking for these types of answers here at Superuser. We want quality answers based on facts, experience, and answer specific questions. The problem with this question is if you told us that your typical user on your network uses 20 concurrent connections our answer would literally be a single calculation. Just because your question is on topic doesn't make it a good question for our format – Ramhound – 2017-05-07T14:23:31.767

1@ramhound I agree and I will answer the question. I have done some research in this area in the past to determine router-scaling issues so I have some rule of thumb estimates. Moved comment regarding "what is average" info the question. – Tonny – 2017-05-07T14:46:43.567

I personally would find an answer that provided an estimate to be unhelpful – Ramhound – 2017-05-07T14:56:50.757

1@ramhound I normally would agree, but in this particular setup hard figures simply don't exist. I do have very reasonable estimates though. Proven valid over several years of experience setting up routers for similar deployments. – Tonny – 2017-05-07T15:08:19.217

I issued a reopen vote to see the answer – Ramhound – 2017-05-07T15:13:06.207

@ramhound So did I. – Tonny – 2017-05-07T16:03:46.610

Thanks @Tonny I'm exactly looking for that kind of answer. I tried to emphasize that I don't need it for rocket science calculations and that I'm OK with approximate numbers. I think your one can be a quality answer based on experience that answers this specific question. – Attila Fulop – 2017-05-07T17:00:40.263

@DavidPostill Please move to re-open. I can provide a decent answer on this one based upon a lot of experience. – Tonny – 2017-05-07T19:33:30.083

@Tonny Let's open this organically. – Ramhound – 2017-05-07T19:39:49.883

@Tonny Reopened - waiting for your answer :) – DavidPostill – 2017-05-07T19:59:34.733

Answers

14

I have been in the same situation providing internet connectivity for multiple satellite offices. And I discovered that this information is not really available on the internet.
So I have done a fair number of measurements to establish a base-line rule-of-thumb for how many connections typical users actually need.

First of all a single "typical user" doesn't exist. Usage varies wildly from one person to the next depending mainly on their web-surfing habits.

The typical Windows computer with a fairly normal selection of standard software (some Google apps, some Adobe products, Microsoft Office) will always have 10-15 connections going just for things like basic checking for updates, telemetry and data-syncing. This can peak briefly to as much as 50-100 connections after boot/login as all of the background applications do their startup checks.

Web-browsers typically will keep 3-5 connections open for each tab/window (even if it is not the active tab/window). This can easily ramp up to 15-20 if the tab runs an online app (Microsoft Office web-apps, Google Docs, SharePoint. etc.).
Additionally while loading/reloading/refreshing any page the browser may briefly go to 10-50 connections extra to fetch various parts of the web-page. Especially advertisement heavy pages can really push this upwards if the user doesn't use an ad-blocker plugin. And be aware that many ad-banners in web-pages load some code to auto-refresh every X seconds, even if the user has this tab made inactive or minimized.

Obviously it makes a lot of difference how many browser-tabs your users typically keep open continuously during the day and how refresh-intensive those pages are.

When you add it all up we concluded the following:
Light users: 30-50 connections on average -> peaks up to 120-250
Heavy users: 60-100 connections on average -> peaks up to 250-500
The good news is that peaks are peaks. Not everyone has them at the same time.

Given that we need to provide for N users on a given router we calculated the required minimum capacity as follows:
60*N (based on low-end of a heavy user) + 500*N/5 (assuming 1 in 5 users is hitting heavy user peak-load at any given time)
Or simplified: 160*N
You can adjust the 160 upwards or downwards as needed if you feel it is not generous enough (or too much).
So in your case the 10.000 connections router should be more than enough.

2 major caveats to mention:

  1. Many SOHO routers have a Statefull Packet Inspection (SPI) feature. Experience has shown me that they often work a lot better when you switch that off. Even though they sport the feature as an "optimization" to handle high load better, many such routers don't have the RAM and/or CPU capacity to do it right. As a result things actually slow down or the router becomes unstable. Something to bear in mind if your router appears to act up.
  2. If any of your users is using BitTorrent on a regular basis allocate at least 500 connections for that user alone. If the user gets creative with BitTorrent settings in the BitTorrent client don't be surprised if he manages to consume 2000+ connections all by himself.
    BitTorrent can be really nasty in that regard. 1 or 2 torrents running isn't usually such a big deal, but when someone keeps 20-30 torrents seeding simultaneously things go downhill quick.

Tonny

Posted 2017-05-07T12:57:18.833

Reputation: 19 919

6This is one of the highest quality answers I've ever received. – Attila Fulop – 2017-05-09T06:05:13.060

Do you know how mobile phones compare to computers? – Sam Dean – 2019-05-13T10:17:25.153

2@SamDean Phones connected by Wifi I presume ? Phones can make quite a lot of connections (depending on how many apps are used/installed and how the user configured the privacy settings) but in general the actual payload per connection is quite small and the number of simultaneous connections is quite low. We usually find that we don't have to explicitly account for the phones. On sites with heavy wifi usage by phones we usually reckon that about 5 phones can be treated as 1 extra user on the network. – Tonny – 2019-05-13T13:54:40.490

@Tonny Yes via Wifi. Thanks very much – Sam Dean – 2019-05-14T08:47:59.227