We are developing a product using akka and plan to use it in production. 
During load-test's I have observed a behavior and need some guidance over 
it. I will give some brief details first:

I have an actor 'A'. There are say other '10' actors which are all remotely 
deployed seperately. 
1) An Actor 'A' on receiving a message, sends a message("Update") to other 
'10' actors
2) It schedules a message to itself after 0.5 second. On receving this 
message, it checks if it has received notification from '10' Actors. If any 
of the actor has not replied, then it re-sends the message to that actor 
and set's a schedule for itself for 0.5 seconds to verify again
3) If at 6th attempt, it still fails then a failure response is sent back 
to client

Problem:
'A' is sending a message to each actor (so expects 10 notifications total). 
But hey, some notifications might not reach on time (for whatever reason) 
and duplicate messages are sent. Thus expected notifications by 'A' for one 
message from client is ">=10 and <=60". Issue: 
1) Exponential increase in time taken to reply back to client as load 
increases.
This is because 'A' happens to spend much more time doing internal work 
than taking requests. 
At worse, if message drop rate is high then the whole system is at a stand 
still as there are too many scheduled messages (sent to itself to verify) 
and notifications from other actors. Also due to the extended delay, many 
"Update" fail and unneccessory duplicate messages are sent to '<10' actors 
again.

What can be the solution to it?

I can forgo Thread-Safety and manage it myself. Can I have some mechanism 
where multiple threads access the same actor? This can help me processing 
the mail-box a bit faster. Surely, single threaded processing is not 
helping me.
Anything else?

Else Akka is awesome!!





-- 
>>>>>>>>>>      Read the docs: http://akka.io/docs/
>>>>>>>>>>      Check the FAQ: http://akka.io/faq/
>>>>>>>>>>      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/groups/opt_out.

Reply via email to