Re: [akka-user] Akka actors not getting balanced thread time

2014-04-16 Thread √iktor Ҡlang
You tune fairness using the "throughput" setting on the dispatcher you are
using for your actors. 1 means it processes 1 message and then lets other
actors run, N == process up to N messages before handing back the thread to
the pool so other actors may run.

As for timeslice that's completely up to the OS to give the threads in the
pool time to run.


On Thu, Apr 17, 2014 at 12:56 AM, Benjamin Black wrote:

> I'm working on reducing my code into something I can share. My system is
> actually a bit more complicated than I've explained. I'm using remote
> actors with other actors that coordinator everything and other actors that
> track offsets. I suppose I'm trying to understand how Akka allocates thread
> time to actors. The first streamer actor takes time to get up to full
> streaming speed, so maybe this affects the akka calculation?
>
> What kind of JVM monitoring are you referring to? I've used YourKit, but
> it didn't notice anything unusual.
>
>
> On Wednesday, April 16, 2014 3:08:30 PM UTC-4, √ wrote:
>
>> Hi Benjamin,
>>
>> your question is hypothetical and without the code and config etc it's
>> impossible to make a qualified answer.
>> What does your JVM monitoring tell you?
>>
>>
>> On Wed, Apr 16, 2014 at 7:47 PM, Benjamin Black wrote:
>>
>>> I'm creating an application that HTTP streams data that is read from
>>> Kafka. A client can create multiple connections, with the data being evenly
>>> balanced between the connections. I'm using Spray 1.3.1 to handle the HTTP
>>> streaming and Akka 2.3.0. Each client connection creates a "streamer" actor
>>> that gets data from a "reader" actor that is unique to the client. For
>>> example, if a client connects four times, there will be four streamer
>>> actors, with the streamer actors all requesting data from one reader actor.
>>>
>>> What I'm witnessing is the following behavior (all connections to the
>>> same process, using default dispatcher):
>>>
>>> T0: 1st client connection, 1st streamer and reader created, streamer
>>> requests 1400 msgs per second from the reader
>>> T1: 2nd client connection, 2nd streamer created, 1st streamer requesting
>>> 600 msgs per second, 2nd streamer requesting 1200 msgs per second
>>> T2: 1st client connection killed, 1st streamer killed, 2nd streamer
>>> requesting 1700 msgs per second
>>> T3: 3rd client connection, 3rd streamer created, 2nd & 3rd streamer each
>>> requesting 1000 per second (this is the behavior I want!)
>>>
>>> Basically it would seem that the 1st streamer is not getting the same
>>> thread time as later streamers. Is this a crazy thought? Is there anything
>>> I check to make sure the akka system is setup correctly? If people think
>>> this could be an akka bug then I can try to put together a small code
>>> example that demonstrates this behavior. Thanks.
>>>
>>> --
>>> >> 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+...@googlegroups.com.
>>> To post to this group, send email to akka...@googlegroups.com.
>>>
>>> Visit this group at http://groups.google.com/group/akka-user.
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>>
>>
>> --
>> Cheers,
>> √
>>
>  --
> >> 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.
>



-- 
Cheers,
√

-- 
>>  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.


Re: [akka-user] Akka actors not getting balanced thread time

2014-04-16 Thread Benjamin Black
I'm working on reducing my code into something I can share. My system is 
actually a bit more complicated than I've explained. I'm using remote 
actors with other actors that coordinator everything and other actors that 
track offsets. I suppose I'm trying to understand how Akka allocates thread 
time to actors. The first streamer actor takes time to get up to full 
streaming speed, so maybe this affects the akka calculation? 

What kind of JVM monitoring are you referring to? I've used YourKit, but it 
didn't notice anything unusual.

On Wednesday, April 16, 2014 3:08:30 PM UTC-4, √ wrote:
>
> Hi Benjamin,
>
> your question is hypothetical and without the code and config etc it's 
> impossible to make a qualified answer.
> What does your JVM monitoring tell you?
>
>
> On Wed, Apr 16, 2014 at 7:47 PM, Benjamin Black 
> 
> > wrote:
>
>> I'm creating an application that HTTP streams data that is read from 
>> Kafka. A client can create multiple connections, with the data being evenly 
>> balanced between the connections. I'm using Spray 1.3.1 to handle the HTTP 
>> streaming and Akka 2.3.0. Each client connection creates a "streamer" actor 
>> that gets data from a "reader" actor that is unique to the client. For 
>> example, if a client connects four times, there will be four streamer 
>> actors, with the streamer actors all requesting data from one reader actor.
>>
>> What I'm witnessing is the following behavior (all connections to the 
>> same process, using default dispatcher):
>>
>> T0: 1st client connection, 1st streamer and reader created, streamer 
>> requests 1400 msgs per second from the reader
>> T1: 2nd client connection, 2nd streamer created, 1st streamer requesting 
>> 600 msgs per second, 2nd streamer requesting 1200 msgs per second
>> T2: 1st client connection killed, 1st streamer killed, 2nd streamer 
>> requesting 1700 msgs per second
>> T3: 3rd client connection, 3rd streamer created, 2nd & 3rd streamer each 
>> requesting 1000 per second (this is the behavior I want!)
>>
>> Basically it would seem that the 1st streamer is not getting the same 
>> thread time as later streamers. Is this a crazy thought? Is there anything 
>> I check to make sure the akka system is setup correctly? If people think 
>> this could be an akka bug then I can try to put together a small code 
>> example that demonstrates this behavior. Thanks.
>>  
>> -- 
>> >> 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+...@googlegroups.com .
>> To post to this group, send email to akka...@googlegroups.com
>> .
>> Visit this group at http://groups.google.com/group/akka-user.
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>
>
> -- 
> Cheers,
> √
>  

-- 
>>  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.


Re: [akka-user] Akka actors not getting balanced thread time

2014-04-16 Thread √iktor Ҡlang
Hi Benjamin,

your question is hypothetical and without the code and config etc it's
impossible to make a qualified answer.
What does your JVM monitoring tell you?


On Wed, Apr 16, 2014 at 7:47 PM, Benjamin Black wrote:

> I'm creating an application that HTTP streams data that is read from
> Kafka. A client can create multiple connections, with the data being evenly
> balanced between the connections. I'm using Spray 1.3.1 to handle the HTTP
> streaming and Akka 2.3.0. Each client connection creates a "streamer" actor
> that gets data from a "reader" actor that is unique to the client. For
> example, if a client connects four times, there will be four streamer
> actors, with the streamer actors all requesting data from one reader actor.
>
> What I'm witnessing is the following behavior (all connections to the same
> process, using default dispatcher):
>
> T0: 1st client connection, 1st streamer and reader created, streamer
> requests 1400 msgs per second from the reader
> T1: 2nd client connection, 2nd streamer created, 1st streamer requesting
> 600 msgs per second, 2nd streamer requesting 1200 msgs per second
> T2: 1st client connection killed, 1st streamer killed, 2nd streamer
> requesting 1700 msgs per second
> T3: 3rd client connection, 3rd streamer created, 2nd & 3rd streamer each
> requesting 1000 per second (this is the behavior I want!)
>
> Basically it would seem that the 1st streamer is not getting the same
> thread time as later streamers. Is this a crazy thought? Is there anything
> I check to make sure the akka system is setup correctly? If people think
> this could be an akka bug then I can try to put together a small code
> example that demonstrates this behavior. Thanks.
>
> --
> >> 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.
>



-- 
Cheers,
√

-- 
>>  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.