Hi,

I am currently evaluating akka-persistence, specifically with respect to 
its throughput. I want to use it in a system consisting of approximately 
1000000 actors, each representing an aggregate root, distributed over a 
sharded cluster of actor systems. Each of these actors should become a 
processor (or probably an eventsourced processor). So I am interested in 
how many messages a single actor system can persist per second. In a 
typical scenario each actor will receive a single message, but I want the 
time the system takes to persist all messages to be as short as possible.

I wrote a simple test case without any sharding, but having a similar 
internal 
structure: https://github.com/kodemaniak/akka-persistence-throughput-test

A sender sends messages to each ID in the system. All messages pass through 
a region actor which routes the messages according to the id contained 
therein and which creates a child actor per ID on demand. I am able to 
persist 2500-3000 msgs per second on my MacBook Pro (Mid 2010) with a SSD 
when the actors are recovered. During recovery it is around 1000 
msgs/second.

When I replace the region actor with a single receiver that receives and 
persists all messages, the throughput increases by one magnitude, i.e., 
>20k msgs/s when the actor is initialized.

My assumption would have been that throughput is independent of the number 
of actors persisting messages. And in any case, I would not have expected 
one magnitude difference. Additionally, both numbers seem to be lower that 
what I've read before about the performance (50k msgs/s IIRC, though that's 
obviously hardware dependent), although the numbers with a single processor 
are very close.

Am I doing anything wrong or are the numbers as expected? Is it a bad idea 
to have many processors in a system? Are there any official benchmarks 
available, maybe with code?

Thanks and best regards

Carsten

-- 
>>>>>>>>>>      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 [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/akka-user.
For more options, visit https://groups.google.com/d/optout.

Reply via email to