I noticed that if you have too few pm_children
set then some requests hang until timeout. This surprised me - I’d expect an immediate error, but it’s more like a tarpit! For ages I was thinking my server was not performant, then I noticed via top
that it wasn’t doing or waiting while the browser was.
I have two questions:
-
If you have
pm_max_children=1
and you occupy that and submit another request, what actually happens? (I’m proxying through nginx.) HTTP doesn’t have a “40_ Come back later”. -
(if life deals you lemons…) if you can generate a tarpit that doesn’t use server resources, this could be quite useful to know about too!
Right Thanks. So I think php might queue then forget some requests, because I’ve had this behaviour without too much traffic. I just don’t know how to reproduce it, but maybe I’ll try with that listen backlog setting, thanks for tip.
It doesn’t forget requests, but NGINX will drop them after it times out if it takes too long.