What does uwsgi_socket_keepalive affect when using the uwsgi protocol?
These refer to two completely different things.
The keepalive
parameter for an upstream
refers to how long to keep a reusable connection open after serving a request. Some types of connections (e.g. HTTP, FastCGI) can service multiple requests on a single open connection, without closing and reopening it.
The directive uwsgi_socket_keepalive
refers specifically to the TCP keepalive feature, which detects whether an open, idle connection is still alive. Though in practice, this really doesn't make a lot of sense, as a uwsgi connection isn't reusable and so it gets closed and a new connection opened with every request; it wouldn't remain idle for any significant amount of time in normal operation.