gsgi, thank you. The numbers you mentioned on exchange server are interesting. Any idea what kind of hardware they are using for that load of 10K per machine?
Anyone else have any data?
Main Topics
Browse All TopicsOk guys, I really need to know what a real-world example is of what to expect the maximum number of concurrent tcp sessions to be in a real world environment? The hardware will be some kind of Dual Opteron with as much memory as is needed. Also assume that these connections didn't all come in at the same time, they were sufficiently spread out.
My company is building a custom server that would allow a large number of people to stay connected over TCP for hours at a time. Most of that time would be doing almost nothing as far as network traffic is concerned. I know of connectionless-UDP models but we have alread decided that they will not work for our needs. I would appreciate if you please try to answer my question instead of telling me "how I should do it". Thank you.
I have searched extensively on here and I have seen my question asked a number of times with the same answer, "there is no limit". This is obviously not true in the real world or else I could run the busiest of servers on an old 486 in my garage. =)
My Questions are:
1) Are there any kind of limits imposed by the OS (Windows 2003 or 2000) and if so can they be changed in any effective way? I am not looking for theory but proven methods please. I know others have had needs to run lots of connections out there so there must be solutions besides throwing 100 machines at it.
2) Considering the data I have detailed above, what limitations would I be running into? OS, CPU, Memory, etc? Let's leave adding machines out of this equation please.
3) Does anyone know of any real world examples showing what numbers people have been able to achieve and what bottlenecks prevented them from going higher on a single machine?
Thank you for very much your time and help.
This Question has been solved and asker verified All Experts Exchange premium technology solutions are available to subscription members.
Experts Exchange has been collecting answers to technology questions since 1996…3 million and counting! If you have a question, chances are we already have your answer.
If you can't find the exact answer you're looking for, ask our exclusive community of 50,000 experts. You’ll get a personalized answer from a trusted professional.
Thousands of free tech tips, tricks, how-to’s and tutorials are available in our peer reviewed articles section. See for yourself how smart our experts are, no login required.
Access the answers to your technology questions today.
30-day free trial. Register in 60 seconds.
Members of the expert community talk about why the experience at Experts Exchange is different than what you will find anywhere else.

Try it out and discover for yourself.
30-day free trial. Register in 60 seconds.
Join the community of experts here and help other tech pros by answering question in your area of expertise. You can earn FREE access to all Experts Exchange's premium features and resources.
Well that was five years ago, and I believe they were 4 processor pentium 200 machines running advanced server with about 2gb's each.
Here's a rough idea of Experts Exchange setup: "There's a database server with a redundant backup. There are eight on-line webservers, with backups. There are two email servers dedicated just to sending notifications and nothing else." So that is 10 servers for 60,000 active users of the 3 million users. Do you see a bottleneck? 1 Database server (no bottleneck) - 2 email servers sending e-mails (different than my example above which was users not dedicated to sending only) - 8 web servers! So you see, it is the *task* that matters as much as the number of connections. Even then though, if there really are 60,000 active users, then there are 6,000 users per server if there are really 10 servers. That's lower than my example, but we see a web server bottleneck. Same with hotmail - its a farm of servers. By the way, you can run a farm of windows servers (like 10) run on one physical box - its called a vmware solution. I think they put it on a IBM RS 6000 machine.
-gsgi
Not for windows. For windows maybe x 2 but for linux, apache, mysql, maybe better -
This guy is at 1 server per 50,000 users - I would be less optimistic. Although at 4% usage, see the post below the link, that's only 2,500 concurrent users per server. Even this optimist has more content (web) servers than database servers.
http://www.experts-exchang
-------------------
Accepted Answer from infotrader
Date: 03/18/2004 01:09PM PST
Accepted Answer
Also, it's not likely that you'll have all of your clients accessing the server at the same time. According to past experience, you should normally expect 1 to 4% of users... Typically, if your user base is 100 people, maybe only 2 would be watching at any given time.
- Info
--------------------
Thank you for your help. I suppose I will only really know after testing my application since its unique to what others are doing. Web servers are designed to kick you off as soon as possible, whereas my server is meant to hold the connection until the user leaves in hours or days. Webserver statistics I find to be not very useful because of this.
The only other thing I am looking for right now is to know if there are OS limitations on 2K/2K3 (Server Editions) and if there is anything I can do about them if they exist. No point in desiging something that won't work no matter what if you see what I mean?
The project is in secret development at the moment and not ready for the public. We have some pretty high end servers on multiple 100mb pipes that we are testing internally on.
We are writting a load-test application that we can run from many other servers to try to simulate a lot of users, but once again, I was looking for anyone's existing real-world data and possible OS limitations. I don't want to spend months trying to optimize somethign that is not in my code/design/control.
Here some stuff I found: again, I am seeing between 10,000 and 100,000 users per server depending on what it is doing and how efficient the code goes.
And again, web serving is at the bottom of that.
http://netwinsite.com/dmai
http://office.microsoft.co
http://www.google.com/sear
System Requirements - MailMarshal for SMTP
Hardware and Software:
Hardware requirements naturally vary depending on the number of email users and the amount of email traffic. The following minimum specifications are suggested as a guideline:
1,000 Users:
* Pentium 1.8Ghz
* 10Gb Hard Disk Drive*
* 512Mb Ram
10,000 Users:
* Dual Pentium 1.8Ghz
* 60Gb Hard Disk Drive*
* 1024Mb Ra
gsgi,
My only problem with this information is that it's very hard to show how many "concurrent" users we are talking about in any of those scenarios. Your first example of Exchange Server was probably the best because I believe it does keep a constant connection open to the server. Most other mail platforms only "poll" the server occassionally. If I read this right D-Mail for example limits you to 200 concurrent by default.
Regardless, Thank you for your help and I will for sure give you some of the points.
Business Accounts
Answer for Membership
by: gsgiPosted on 2005-08-01 at 18:00:29ID: 14575660
I have taught CS at a Univ and been a consultant for years, so by definition then I must be able to say something worthwhile, right! :-) Well I have absolutely no idea. But, maybe I can point you North towards some answer that will help you. Lets take for instance a busy exchange server. The people I studied exchange with that hosted large installations > 50,000 users used at least 5 machines. That is 10,000 accounts per machine. E-mail is intensive. Figure 1,000 heavy communications and 9,000 just sitting in outlook or having it closed. Maybe this is reasonable, maybe I am way off.
Now lets look at a database server model. You can again have 1000's of people hitting a machine. 10,000 - that's a big machine. I'd call IBM. They outsource and will scale. When you have 1,000 people hitting the box, it might be expensive. By the time you have 1,000,000 using your service, IBM will probably seem cheap!
Now how about a DNS server, well those don't use TCP sessions that remain with a heartbeat, but assuming that we ran a lightweight like service that did maintain a live TCP session, I'd go with 5,000. But I'd be guessing. I would ask isp, mail administrators, and web developers, and database people in addition to those here in the Server group.
-gsgi