Я рассматривал некоторые варианты оптимизации для nginx с восходящим потоком uwsgi и заметил, что в конце записи для keepalive
в документах говорится:
Протоколы SCGI и uwsgi не поддерживают соединения с поддержкой активности.
но есть параметр с именем uwsgi_socket_keepalive
где в документации говорится о тайм-ауте поддержки активности для сокета. Меня это смущает, потому что afaik при использовании сокета uwsgi по умолчанию используется протокол uwsgi. Означает ли это, что этот параметр (а также другие параметры, связанные с поддержкой активности) просто игнорируются при использовании протокола uwsgi?
Они относятся к двум совершенно разным вещам.
В keepalive
параметр для upstream
относится к тому, как долго поддерживать повторно используемое соединение открытым после обслуживания запроса. Некоторые типы подключений (например, HTTP, FastCGI) могут обслуживать несколько запросов в одном открытом подключении без его закрытия и повторного открытия.
Директива uwsgi_socket_keepalive
относится, в частности, к функции поддержки активности TCP, которая определяет, живо ли еще открытое, неактивное соединение. Хотя на практике это действительно не имеет большого смысла, поскольку соединение uwsgi не может использоваться повторно, поэтому оно закрывается, а новое соединение открывается с каждым запросом; при нормальной работе он не простаивает в течение значительного времени.