I’m wondering whether Unicorn is the right webserver for us. Reading up on it (here) it is notoriously slow for slow clients, “while downloading the request off the socket, Unicorn workers cannot accept any new connections, and that worker becomes unavailable.” This perhaps fits with something I noticed looking into the Order cycle page hanging, that one of the gems fires off a request to an external API and we see the whole page hang waiting for this API that often didn’t respond.
Perhaps in the UK we just need more workers as our servers are pretty overspecced for our load, we should be able to handle more than it seems we can.
Not sure how much work is involved in updating the webserver. Probably a lot.
But given that in the UK context I can really see us having a high number of slow clients we might want to look into this. Looks like a better solution for us might be Puma, which we can scale up to clustered when we grow to a size that warrants it…