Notes about the maximum number of connections and the speed of Abyss Web Server

Overview

In Abyss Web Server, the number of concurrent connections can be configured by the user and can be set to any value (see the parameter Maximum Simultaneous Requests). There is no hard limit as with some versions of Microsoft IIS and there is no 10-connection limit imposed by the operating system.

The truth about the 10-connection limit in some Windows versions

The 10 connection limit is a bit misleading: actually this limit does not concern TCP/IP connections. It concerns other network connections (such as file shares, network printer, remote user sessions, etc...). Microsoft's KB 314882 provides information about that.

Windows XP (even the Home edition) has no limit on the number of inbound TCP/IP connections. Since Abyss Web Server uses only TCP/IP, it can be configured to any number of concurrent connections (provided that your computer has the resources to handle them).

IIS has a 10-connection limit on Windows XP Pro, Abyss Web Server does not

IIS which ships with XP Pro is limited to 10 TCP/IP inbound connections. This is not a technical limitation but it is rather crippled by Microsoft to make IIS on XP Pro not usable as a production system (and to push customers to purchase server editions of the their operating system as these editions ship with an IIS release with no such limitations).

How many visitors can a site hosted by Abyss Web Server have?

As explained above, you can freely set the number of concurrent connections in Abyss Web Server but it is hard to know from it exactly how many concurrent visitors you can have.

A single user can generate one or more requests for every page: it actually depends on the page and how many embedded images or Flash animations it contains: The page results in a request and every embedded object results also in a request. Similarly, a web application (a script) can be made of several pages. So it is difficult to make an estimation without knowing exactly what kind of web sites you are going to host.

In the rest of the article, we'll try to give you an idea about the raw performances of Abyss Web Server and some typical usage scenarios. This should help you have a rough estimation about our software's capabilities.

Static files service speed

When serving static files (files that are present on the hard disk and not generated dynamically), Abyss Web Server can serve several hundreds of requests per second on modern hardware. Tests on an old computer powered by a Pentium III (600 MHz) and 128 MB of RAM showed that it is able to process at least 100 requests/second during hours without any problem.

Dynamic content speed

For dynamically generated pages (scripts), the performance depends on the script processing speed (which is always slower than Abyss Web Server raw capabilities). That speed depends on several parameters: the most important is what the script is asked to do. It depends also up to some extent on your processor speed and the amount of RAM you have. The more you have, the faster your scripts processing will be.

We have noticed that most scripts generate an average of 3 requests for every page visit. One of these require a dynamic page generation (using a script). The 2 other are for images or static content. We have also noticed that a normal user will not visit more than 1 page every 10 seconds. These empirical figures can help you have an idea about the number of requests you should expect.

Your network connection speed is the most important parameter

Abyss Web Server will serve the files at the maximum speed your network can handle. So another parameter that is also worth considering is the speed of your network (or Internet) connection that the server will be connected to when serving files and scripts. This is usually the bottleneck of most systems (it is needless to have an outstanding serving performance if your connection cannot transfer more than 10 KB/s). So estimating the average payload of every request can help you estimating your real traffic.