Существуют ли сообщения поддержки активности для сокетов?

Предварительный брифинг:

Хотя мой вопрос намеренно широк, я имею дело с подключением nginx к php-fpm (fcgi), который обслуживается через локальный сокет (/tmp/somesocket.socket).

В Nginx есть настройка для поддержки активности подключений к бэкэндам fcgi ( http://nginx.org/en/docs/http/ngx_http_fastcgi_module.html).

Вот к чему относится мой вопрос.

Вопрос:

В linux при подключении к локальным сокетам существует такая вещь как keepalive?

Будет ли поддержание соединения в рабочем состоянии удалить (даже чуть-чуть) некоторые накладные расходы, связанные с созданием / разрывом соединения?

Благодарю.

1 ответ

Решение

Я предполагаю, что вы имеете в виду локальные сокеты Unix здесь.

В linux при подключении к локальным сокетам существует такая вещь как keepalive?

Нет, keepalive предотвращает тайм-аут удаленной стороны. Поскольку хост знает состояние обеих сторон соединения, keepalive является избыточным.

Будет ли поддержание соединения в рабочем состоянии удалить (даже чуть-чуть) некоторые накладные расходы, связанные с созданием / разрывом соединения?

Да, за счет поддержки большего количества файловых дескрипторов, что, вероятно, очень дешево в практическом плане. Настройка соединения и его закрытие требует 5 системных вызовов (открыть и подключиться на клиенте, принять на сервере, закрыть на клиенте / сервере), которых при необходимости поддерживать соединение необходимо до тех пор, пока это не потребуется.

Другие вопросы по тегам