问题描述
我看到别人的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