nginx 中 fastcgi_pass设置为监听unix socket 比监听tcp socket 执行效率高吗?

【字号: 日期:2022-07-04浏览:21作者:雯心

问题描述

我看到别人的nginx配置中 fastcgi_pass 是unix:/tmp/php-cgi.sock

而我的配置却是127.0.0.1:9000 (不讨论负载均衡什么的,就是最简单的一个server)

unix:/tmp/php-cgi.sock和127.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吗?

问题解答

回答1:

嗯,unix socket会更加快一点,不走网络另外放在/tmp目录不如放在内存里面我一般放在 /dev/shm/php-fpm.sock放在内存读取速度快更快的

回答2:

理论上,unix socket不走网络,会快些,可是,稳定性就不那么理想了,这里有人做过测试,你可以参考http://blog.csdn.net/liv2005/article/details/7741732

相关文章: