Назад | Перейти на главную страницу

На что влияет uwsgi_socket_keepalive при использовании протокола uwsgi?

Я рассматривал некоторые варианты оптимизации для nginx с восходящим потоком uwsgi и заметил, что в конце записи для keepalive в документах говорится:

Протоколы SCGI и uwsgi не поддерживают соединения с поддержкой активности.

но есть параметр с именем uwsgi_socket_keepalive где в документации говорится о тайм-ауте поддержки активности для сокета. Меня это смущает, потому что afaik при использовании сокета uwsgi по умолчанию используется протокол uwsgi. Означает ли это, что этот параметр (а также другие параметры, связанные с поддержкой активности) просто игнорируются при использовании протокола uwsgi?

Они относятся к двум совершенно разным вещам.

В keepalive параметр для upstream относится к тому, как долго поддерживать повторно используемое соединение открытым после обслуживания запроса. Некоторые типы подключений (например, HTTP, FastCGI) могут обслуживать несколько запросов в одном открытом подключении без его закрытия и повторного открытия.

Директива uwsgi_socket_keepalive относится, в частности, к функции поддержки активности TCP, которая определяет, живо ли еще открытое, неактивное соединение. Хотя на практике это действительно не имеет большого смысла, поскольку соединение uwsgi не может использоваться повторно, поэтому оно закрывается, а новое соединение открывается с каждым запросом; при нормальной работе он не простаивает в течение значительного времени.