If you go like this:
client ---(HTTP/2)---> nginx ---(pipelining)---> japronto
Would that not take benefit of japronto's optimisation?
client ---(HTTP/2)---> nginx ---(pipelining)---> japronto
Would that not take benefit of japronto's optimisation?
Even if it did, the benefits described in the post (mostly due to making fewer syscalls and having fewer packets to parse) go away because now nginx has to do the work instead of Python. There's probably also some overhead required to collect multiple requests together to pipeline them. You'd just be moving the load around.
And if the nginx process somehow ends up using more CPU than the python process, then using multiple nginx servers would be fairly easy, compared to multiple application servers