Keepalive是否存在套接字连接?

前简报:

尽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),直到需要时才保持连接。