On 07/24/2017 01:03 PM, Yann Ylavic wrote:
What if the fpm queue in ap_proxy_connect_backend or at POLLOUT time?
If both cases I think the socket is not reused by mod_proxy_fcgi for
the next request, so I don't see how it's a enablereuse issue...
I'm not sure I understand your question, but I think I've described the
problem incompletely. Let me give it another try:
Let's say FPM has been configured to handle 5 concurrent connections,
and httpd has been configured to use up to 10. With connection reuse
disabled, if we hit the server with ten requests to FPM, five
connections will be served immediately, and FPM will queue up the next
five. As requests finish, httpd closes each connection, and FPM grabs
the next connection to service. Everything works.
With connection reuse enabled, FPM still queues the last five
connections. But because httpd never releases the first five, and new
incoming requests continue to use them, those queued connections never
get serviced. That's not FPM's fault; it advertises how many concurrent
connections it can handle via the FCGI protocol, and if it refused those
queued connections by default, our first use case (which works fine)
would crash and burn.