nginx 即可以作为服务器使用,又可以作为反向代理使用,计算公式如下,以下讲解的都是理论值(因不考虑I/O调度或者网络因素等其他原因):
nginx作为http服务器的时候:
max_clients = worker_processes * worker_connections/2
nginx作为反向代理服务器的时候:
max_clients = worker_processes * worker_connections/4
注意:
为什么除以2:该公式基于http 1.1协议,一次请求大多数浏览器发送两次连接,并不是request和response响应占用两个线程(很多人也是这么认为,实际情况:请求是双向的,连接是没有方向的,由上面的图可以看出来)
为什么除以4:因nginx作为方向代理,客户端和nginx建立连接,nginx和后端服务器也要建立连接。