nginx reverse proxy greatly increases worst-case latency Thanks for the recommendations.
This appears to result from TCP-level problems; tshark on lo shows retransmissions of GET requests, increasing the request queue size (listen(2) parameter) in CherryPy changes the behavior, and using a UNIX domain socket between nginx and CherryPy eliminates the problem (I've gone with this solution).