前简报:
尽pipe我的问题目的很广泛,但我正在处理连接到php-fpm(fcgi)的nginx,它通过本地套接字(/tmp/somesocket.socket)提供。
Nginx具有保持与fcgi后端连接的设置( http://nginx.org/en/docs/http/ngx_http_fastcgi_module.html#fastcgi_keep_conn )。
这是我的问题所涉及的。
题:
在linux中,当连接到本地套接字时,存在Keepalive这样的事情吗?
有一个连接保持活着删除(甚至一点点)与连接的创build/拆卸相关的一些开销?
谢谢。
我假设你是指这里的本地unix套接字。
在linux中,当连接到本地套接字时,存在Keepalive这样的事情吗?
不,keepalives防止远程端超时。 由于主机知道连接两端的状态,保持活动是多余的。
有一个连接保持活着删除(甚至一点点)与连接的创build/拆卸相关的一些开销?
是的,以维护更多文件描述符为代价,实际上这可能是一个非常便宜的成本。 build立一个连接并closures它会引起5个系统调用(在客户端打开并连接,在服务器上接受,在客户端/服务器上closures),直到需要时才保持连接。