如何用 nginx 进行高性能反向代理

2025-05-09 23:18:12
推荐回答(1个)
回答(1):

我们不要相信感觉,让数字来说话。实测了得出数据来比较,才能下定论,性能提高了。

从理论上分析并猜测一下:
假设你的后端是指 apache+php handler ,前面搭一个nginx 作为代理。
nginx 只是将请求转发,后端仍然要面对那么多的请求,没有任何性能上面的帮助,怎么会性能高呢?
而且还nginx 和 apache 还建立了多一次的tcp 连接,在低并发下不会有什么感觉,但在高并发下,性能肯定会下降。
我猜测一下,你的apache 开启了keepalive ,apache 与用户保持连接,apache 也是需要去维护这些连接的,当连接数逐渐高起来的时候,apache 也就吃不消了。而把nginx 假设在前面,nginx 与后端的连接是短连接,也就是,一个请求过去了,apache 返回了就断开了。apache 不再需要维护这些连接,身上的重担少了一块,可以花多一点精力去处理请求了,从而让你感觉到好像快了。