Do you have backgrounders running around 9am on the same server as the workbooks attempting to be rendered? If so, have a look at resource contention in terms of CPU, memory, threads, disk, etc. And if this is the case, one way around this is to isolate the backgrounder processes on their own node. The performance tuning examples go into more details: Performance Tuning Examples
Another option is you might want to run a current set of logs through Tableau's LogShark tool:
A few folks have asked questions about the tool and for some quick info:
(1) LogShark does not do real time monitoring of Tableau Server logs. So it's actually better *not* to install it on a node in a Tableau cluster but a separate machine.
(2) LogShark requires an instance of Postrgres to be installed and we have the link in the Install instructions on where it can be downloaded. You don't want to use the Postgres Tableau Server uses.
I actually run LogShark and my laptop to process customer log files so you don't need a super powerful machine to run it.
It could take some time to get things setup and if this issue is occurring in Production and your end users are getting anxious I would strongly recommend opening a support case so we can help assist with your issue.