請求如果直接發送到同步處理的後端,那麼從收到請求到把回應發出去這段時間,一個行程的資源就被佔用了(例如Apache的prefork模式)。在慢連線的情況下,這個進程除了處理之外的大多數時間基本上都耗費在了無意義的等待上。 Nginx在這方面的優點就在於它的非同步非阻塞模型。這意味著Nginx可以透過基於事件的方式同時處理和維護多個請求,而後端就只需要去做邏輯計算,節約了等待時間去處理更多的請求。
如果同時部署在一台機器上,不會對性能有提升,在高並發下性能反而會下降,本來建立一次tcp連接就完事了,因為有個返向代理還得再多做一次,在高並發的情況下肯定有性能損失。
反向代理提高網站效能主要透過三個面向:
1,反向代理可以理解為7層應用層的負載平衡,使用負載平衡之後可以非常便捷的橫向擴展伺服器集群,實現集群整體並發能力、抗壓能力的提升。
2,通常反向代理伺服器會帶有本地Cache功能,通過靜態資源的Cache,有效的減少後端伺服器所承載的壓力,從而提高性能
3,http壓縮,開啟壓縮後,網絡流量傳輸減少,相同頻寬下可以服務更多用戶
以上就介紹了 Nginx 反向代理,包括了方面的內容,希望對PHP教程有興趣的朋友有所幫助。