nginx与php-fpm通讯方式
nginx和php-fpm的通信方式有兩種,一種是tcp socket的方式,一種是unix socke方式。
tcp socket
tcp socket的優點是可以跨服務器,當nginx和php-fpm不在同一臺機器上時,只能使用這種方式。
unix socket
Unix domain socket 又叫 IPC(inter-process communication 進程間通信) socket,用于實現同一主機上的進程間通信。socket 原本是為網絡通訊設計的,但后來在 socket 的框架上發展出一種 IPC 機制,就是 UNIX domain socket。雖然網絡 socket 也可用于同一臺主機的進程間通訊(通過 loopback 地址 127.0.0.1),但是 UNIX domain socket 用于 IPC 更有效率:不需要經過網絡協議棧,不需要打包拆包、計算校驗和、維護序號和應答等,只是將應用層數據從一個進程拷貝到另一個進程。這是因為,IPC 機制本質上是可靠的通訊,而網絡協議是為不可靠的通訊設計的。
?
?
unix socket減少了不必要的tcp開銷,而tcp需要經過loopback,還要申請臨時端口和tcp相關資源。但是,unix socket高并發時候不穩定,連接數爆發時,會產生大量的長時緩存,在沒有面向連接協議的支撐下,大數據包可能會直接出錯不返回異常。tcp這樣的面向連接的協議,多少可以保證通信的正確性和完整性。
轉載于:https://www.cnblogs.com/naci/p/10225406.html
總結
以上是生活随笔為你收集整理的nginx与php-fpm通讯方式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: AOSP 源码整编单编
- 下一篇: 农夫山泉为什么有点甜?