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.
http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_buffers
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).
http://nginx.com/products/technical-specs/
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