Hello,
I have a custom print service that can often run so slowly that we receive timeouts at intervals greater than 5 minutes. Understanding that there are a great many factors that influence job run times, here is a common print setup, which experiences a timeout.
9 layers, some of which do not have features in the print extent, displayed over an aerial image (a cached map service referencing a locally stored image), at 300dpi.

The print service is synchronous, returning up to 1000 records, dedicated with 2 min and 2 max instances. The print templates have the map frame, a legend, a couple pieces of dynamic text, and a locator map. I've tested out with removing the locator map but that is at best a marginal improvement. Ditto for using a vector tile basemap as opposed to the aerial image. Finally, I have gone through some general remove-one-layer-at-a-time type testing, and there are many occasions where anything more than a single layer will cause extremely long print times. The map this print service runs against has a couple hundred layers, though most of the time only a small subset are toggled on.
The general setup is institutionalized to the point where I don't have much experience doing anything else. My hunch here is that it is a tangled web of complex symbols, the underlying aerial, and something about the configuration of the service that I just don't know enough about.
Any advice or troubleshooting steps I'm missing would be great!
Happy mapping,
- Zach