Expected Server configuration for 100 users

Rainer Duffner rainer at ultra-secure.de
Wed Feb 18 19:01:34 UTC 2015

> Am 18.02.2015 um 16:56 schrieb ragavd <nginx-forum at nginx.us>:
> Hi,
> We are configuring the NGINX as a reverse proxy. We are expecting some 100
> concurrent users or connections/sessions to be active at any given moment of
> time. Right now the server is acting as a reverse proxy for only one
> application. These concurrent users will connect predominantly between 6:00
> AM to 7:00 PM. Based on this what should be the RAM and CPU configuration
> for the NGINX server?

What’s your hardware?

It all depends on a couple of configuration-parameters.

If I’m correct, the default would be
8*4k=32k per connection, which would result in a memory usage of 3.2MB with 100 concurrent connections.
Of course, nginx itself would also need some memory.
But nginx is quite thrifty IME.

> Also is there a guideline or a blog entry which we can use to approximate
> the system requirements of NGINX servers based on the concurrent user load?

I use the above formula as a guideline.

But I haven’t really had a situation where I was ever coming close to hitting a limit on the hardware or our (very modest) worker_connections default.
If we get DDoSed, it’s usually so much crap-traffic that we have to route the affected network through a mitigation-service.

> And also what will be preferred OS for NGINX server?

I think the Tier 1 platforms are:
 - FreeBSD 9+10 AMD64
 - Cent OS 6+7 AMD64
 - Ubuntu 12+14 AMD64

NGINX Plus supports a couple of additional platforms, but I would assume the majority of the installation-base is on any of these three (and then some Debian installs).


For your use-case, it doesn’t really matter what OS you run, as long as it’s one of the above (or you know it really well).

I think FreeBSD9+10 have the lowest hardware requirements, even without special tuning.

More information about the nginx mailing list