By setting the Save state before sending workflow message parameter to true ensures that workflows are fully recoverable but it reduces the throughput by as much as 60%.
Also, persistence of intermediate documents requires additional diskspace.
Procedure
Use more than one cache server.
Set up a back up for cached objects. Sample configurations are provided.
Set Save state before sending workflow message to false if the probability of all cache server failing is low. Also, the recovery process would include resubmitting the events.