@patriknw thanks a lot for your input. The reason why I use a dedicated dispatcher is because of snapshot replays. When I start the application and there is a persistent actor with huge snapshot to recover from, it blocks the thread for too long. This is an issue when having many persistent actors with huge snapshots.
Anyway, I removed the dedicated dispatcher to see whether it solves the problem. It didn’t.
I will replace the persistence journal and snapshot store with Null-objects which just ignore the message and return success to see (and potentially exclude) the relation to persistence. Maybe there’s an other reason why message dispatching is delayed so much.
Is there a way to prove it’s not the dispatcher’s fault?
Is there a way to monitor dispatchers to detect whether there’s a resource problem and thus actors cannot be executed in a timely manner?
If any debug information helps, please let me know what I should provide.