Nginx原理
1、nginx采用了一个master多个worker的方式处理请求。每个worker里面只有一个主线程,并且nginx采用的是异步非阻塞方式处理请求,所以能够同时处理成千上万的请求。
2、不同worker进程之间处理并发请求时,几乎没有同步锁的限制,减少了系统开销。
3、worker的数量最好和cpu数量一样,并为每个worker绑定特定的cpu,这样进程切换的代价最小。
4、worker处理一个请求,会占用几个链接?两个或者4个,当访问nginx上的静态资源时,占用两个;如果访问tomcat的动态资源则会占用4个。
计算支持的最大并发数:woker最大连接数 * worker数量/2或者4
5、nginx采用Io多路复用技术。
一个线程,通过记录I/O流的状态来同时管理多个I/O,可以提高服务器的吞吐能力。