Nginx 反向代理为什么可以提高网站性能?
如果作为纯粹的反向代理服务器,不做任何缓存,也没有静态文件服务,每一个请求都转发到后端,这样还能提高性能吗?
邀请回答


共4个回答
对于后端是动态服务来说,比如Java和PHP。这类服务器(如JBoss和PHP-FPM)的IO处理能力往往不高。Nginx有个好处是它会把Request在读取完整之前buffer住,这样交给后端的就是一个完整的HTTP请求,从而提高后端的效率,而不是断断续续的传递(互联网上连接速度一般比较慢)。同样,Nginx也可以把response给buffer住,同样也是减轻后端的压力。
1、因为多了一层Nginx,所以单个请求的时延是肯定增加了,从这个角度讲性能是下降的;
2、因为上游可以有多个后端Server,所以并发能力上升了,总的吞吐量也上升了,这个角度性能还是提升的。
可以做负载均衡
一个反向代理的服务器抛开所有业务层的东西,只单纯的接下请求再返回,那么可以支持到20000并发了。接下来应用层面谁来处理?找来10个小弟,转发给他们,每人2000正好。这样这个节点系统虽然性价比只有10/11,但是性能潜力好歹挖尽了。