Solved

Approximate benchmarks for concurrent connections on IIS 6.0

Posted on 2007-11-30
8
2,082 Views
Last Modified: 2008-09-17
Does anyone have any rough order-of-magnitude guidelines for the number of connections that IIS 6.0 can sustain, based on available memory, cores, cpus, etc. for both short and long-lived connections?
0
Comment
Question by:AGBrown
  • 3
  • 3
8 Comments
 
LVL 18

Expert Comment

by:Andrej Pirman
Comment Utility
Theoretical limits vary from article to article. I remember reading somewhere in the past that IIS on 32-bit machine can handle no more than 8000 concurent connections, while this limit can be patched using some registry settings and pushed up to 40.000 concurent connections.

But all those are theory.
In praxis things work differently. Most of all it depends on application, which serves web page. It might be HTTP.SYS, might be ASP engine, .NET framework, and also PHP, PERL, JSP and others. Which might run as CGI or ISAPI module. Also, lots of resources are eat by database, which might be Access via ODBC, MSSQL, MySQL or others.
So I think there is no document, which would take into account all those parameters and be able to set some theorethical limits under all different circimstances.

So, by my oppinion, the best is to go from back - list your expectations, what you will host, databases etc, and those with expertise will be able to say if it will run or not.

For example:
on my Intel Core2Duo 2,13 with 2 GB RAM and 143 GB RAID 1 disks,
I run IIS with 200+ web pages, PHP, MSSQL, MySQL, .NET and ASP. Average concurent connections are between 15 and 50, monthly traffic around 1,5 GB, and it runs smoothly, without any problems.
I tested it with IIS Stress Tool and it handled over 176.000 visitors per hour, being from 8 to 32 simultaneously on, wizhout noticeable problems.

While on the other hand, I had some lousy PHP/MySQL programmers pages hosting, which were writing really bad PHP/MySQL code, so hosting their home-made portal slowed down my whole server.
0
 
LVL 18

Expert Comment

by:Andrej Pirman
Comment Utility
Sorry, misstyped:
...I run IIS with 200+ DOMAINS (not web pages)
...monthly traffic around 1,5 TB (not GB)
0
 
LVL 12

Author Comment

by:AGBrown
Comment Utility
That helps a bit I think - do you have any links to the articles?

Pretty much the situation exactly: long running requests to a web service written in .NET which just sits and waits for an event to fire before returning (rather than polling at intervals - there is a reason, and both techniques are used in this application). The service will be written using async techniques so that the IIS thread is only used during the setup and after the event fires and the background thread returns.

No database connections open during the long part of the request - only during the initial few milliseconds while things are setup for the wait.

Hardware - single HP DL360 G5 server with 4 x 72 GB 10k rpm disks in RAID 5, but with IIS running on a VMWare virtual machine using 2 cores from the dual 2-core CPUs on the host. RAM configurable - up to 2 GB available for the VM. Will later migrated to it's own server but this is what it uses at the moment - so if possible I'm looking for rough benchmarks for connections (concurrent, for long running requests, and per second for instant requests) for a similar setup.

Andy
0
What Should I Do With This Threat Intelligence?

Are you wondering if you actually need threat intelligence? The answer is yes. We explain the basics for creating useful threat intelligence.

 
LVL 12

Author Comment

by:AGBrown
Comment Utility
If this provokes any more discussion; I'm hoping to be able to handle about of the order of 1000 concurrent connections - approx 50 % of which will be taken up with these long-running requests to the web service.
0
 
LVL 18

Accepted Solution

by:
Andrej Pirman earned 500 total points
Comment Utility
Unfortunatelly I have no links to those articles, since I was pooling it from my memory.

I suggest you to test your web application with IIS Stress Tool, setting parameters according to your expected load. Here is a link: http://support.microsoft.com/kb/231282

And a story from my testing:
When I was first testing my servers, something went wrong - my anty-hammering and firewall application did their job, and not just stopped the unusuall stressed load, but also reported to many public databases my 2nd server, from which test was made, to be source of attack. So I put my own server to blacklist :))
0
 
LVL 12

Author Comment

by:AGBrown
Comment Utility
I have to write the app in order to get to the testing stage; at the moment I'm trying to get some rough orders of magnitude (do I need one server or 100 to get this to work).

I have only just picked myself up off the floor from laughing so hard - I thought I was the only person who did things like that.

Andy
0

Featured Post

Threat Intelligence Starter Resources

Integrating threat intelligence can be challenging, and not all companies are ready. These resources can help you build awareness and prepare for defense.

Join & Write a Comment

What is an ISAPI filter?   •      It's an assembly (.dll file) that can add or change the way IIS works.   •      They can be enabled globally for your web server or on a site-by-site basis.   When the IIS server receives a request, enabling the ISAPI fi…
Debug Tools to analyse IIS process: This article focus on taking memory dumps from IIS to determine which code is taking more time and to analyse which calls hangs/causes more CPU usage. To take dumps,download the following. Install1: To st…
Get a first impression of how PRTG looks and learn how it works.   This video is a short introduction to PRTG, as an initial overview or as a quick start for new PRTG users.
This demo shows you how to set up the containerized NetScaler CPX with NetScaler Management and Analytics System in a non-routable Mesos/Marathon environment for use with Micro-Services applications.

771 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

14 Experts available now in Live!

Get 1:1 Help Now