首頁  >  問答  >  主體

nginx 中 fastcgi_pass設定為監聽unix socket 比監聽tcp socket 執行效率高嗎?

我看到別人的nginx設定中 fastcgi_passunix:/tmp/php-cgi.sock

而我的設定卻是127.0.0.1:9000(不討論負載平衡什麼的,就是最簡單的一個server#)

unix:/tmp/php-cgi.sock127.0.0.1:9000二者有什麼差別呢?

是不是前者處理速度比較快呢?

我在我的php-fpm.conf看到

; The address on which to accept FastCGI requests.
; Valid syntaxes are:
;   'ip.add.re.ss:port'    - to listen on a TCP socket to a specific address on
;                            a specific port;
;   'port'                 - to listen on a TCP socket to all addresses on a
;                            specific port;
;   '/path/to/unix/socket' - to listen on a unix socket.
; Note: This value is mandatory.
listen = 127.0.0.1:9000

是不是把這個listen的設定修改為/tmp/php-cgi.sock嗎?

漂亮男人漂亮男人2712 天前713

全部回覆(2)我來回復

  • 怪我咯

    怪我咯2017-05-16 17:28:00

    嗯,unix socket會更快一點,不走網路
    另外放在/tmp目錄不如放在記憶體裡面
    我通常放在 /dev/shm/php-fpm.sock
    放在記憶體讀取速度快更快的

    回覆
    0
  • PHPz

    PHPz2017-05-16 17:28:00

    理論上,unix socket不走網絡,會快一點,
    可是,穩定性就不那麼理想了,
    這裡有人做測試,可以參考
    http://blog.csdn.net/liv2005/article/details/7741732

    回覆
    0
  • 取消回覆