I'm not saying use a lot of dispatchers. I'm saying that you should delegate to maybe 1 more dispatcher for your heavy work to unblock your actor's dispatching thread (and definitely another for blocking IO) allowing it to put more of your Actor's mailbox entries to work concurrently. In one of your posts you were afraid that actors "doing too much" could be causing things to slow down. If your actors are blocking on IO or some other lengthy task, a single actor won't be able to process message 2 until the receive block from message 1 has completed. By delegating heavy work to a different "heavy work" dispatcher, your Actor's dispatcher can start to process more requests from the mailbox. This allows more heavy/blocking tasks to be inflight. It doesn't make long tasks take less time, but hopefully will allow you to maximize your remaining resources either queuing up blocking work or processing the results as they return.
To Patrik's point. 20000 actors is already a lot of concurrency. Unless you broadcast 5 messages to each while the first message waits for 10s on a remote Geo call. Then you've spent some CPU queuing 100k requests, started the blocking IO for 20k of those and then wait for 10s. This is an exaggeration, but the idea here is that the time you spend waiting for IO drives down your overall CPU utilization. If you're looking to maximize CPU utilization you want all of your 100k requests in flight, saturating your IO pipe, and then processing results as they return. After a window of delay you should be processing results at the max speed of your network, which ought to keep your CPU busier than it is now. -- >>>>>>>>>> Read the docs: http://akka.io/docs/ >>>>>>>>>> Check the FAQ: >>>>>>>>>> http://doc.akka.io/docs/akka/current/additional/faq.html >>>>>>>>>> Search the archives: https://groups.google.com/group/akka-user --- You received this message because you are subscribed to the Google Groups "Akka User List" group. To unsubscribe from this group and stop receiving emails from it, send an email to akka-user+unsubscr...@googlegroups.com. To post to this group, send email to akka-user@googlegroups.com. Visit this group at http://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout.