Jim,
I think you’re referring to this reference.conf
<https://github.com/akka/akka/blob/master/akka-actor/src/main/resources/reference.conf>
which has this section of the scheduler settings:
# Used to set the behavior of the scheduler.
# Changing the default values may change the system behavior drastically so
make
# sure you know what you're doing! See the Scheduler section of the Akka
# Documentation for more details.
scheduler {
# The LightArrayRevolverScheduler is used as the default scheduler in the
# system. It does not execute the scheduled tasks on exact time, but on
every
# tick, it will run everything that is (over)due. You can increase or
decrease
# the accuracy of the execution timing by specifying smaller or larger tick
# duration. If you are scheduling a lot of tasks you should consider
increasing
# the ticks per wheel.
# Note that it might take up to 1 tick to stop the Timer, so setting the
# tick-duration to a high value will make shutting down the actor system
# take longer.
tick-duration = 10ms
# The timer uses a circular wheel of buckets to store the timer tasks.
# This should be set such that the majority of scheduled timeouts (for high
# scheduling frequency) will be shorter than one rotation of the wheel
# (ticks-per-wheel * ticks-duration)
# THIS MUST BE A POWER OF TWO!
ticks-per-wheel = 512
I tried various combinations for these two parameters and none of it made more
than a 5% difference in the numbers which is probably in the noise range for my
test set up. While these settings may have consequences on a large actor system
with lots of things going on, that’s not my situation currently. I have one
supervisor actor talking to one channel actor talking to one TCP
OutgoingConnection actor. It is pretty much linear flow of messages into and
out of the Akka IO code, repeated in a loop. I’ve measured the overheads of
the actor system infrastructure (mailbox, message send, etc.) and it is
negligible (less than a microsecond).
Do you have any suggestions on how to look at the performance of Akka IO code?
Short of any suggestions from the list, I”m about to start hand instrumenting
the Akka IO code to find out where it spends its time.
Reid.
> On Feb 21, 2015, at 6:30 PM, [email protected] wrote:
>
> Hmm. Then I must have been playing with the setting around the same time.
> It's definitely related to overall thread scheduling. Poke around the
> reference.conf files in the core akka jars. There should be a description of
> the overall methodology in there as well. Timer granularity and number of
> buckets are the big factors.
>
> -Jim
>
> -- Sent from my mobile device
>
> On Feb 21, 2015, at 2:47 PM, Reid Spencer <[email protected]
> <mailto:[email protected]>> wrote:
>
>> Jim,
>>
>> The spray-can example benchmark
>> <https://github.com/spray/spray/tree/master/examples/spray-can/server-benchmark/src/main>
>> program has an application.conf
>> <https://github.com/spray/spray/blob/master/examples/spray-can/server-benchmark/src/main/resources/application.conf>
>> like this:
>>
>> akka {
>> loglevel = INFO
>> event-handlers = ["akka.event.slf4j.Slf4jEventHandler"]
>>
>> actor.default-dispatcher {
>> fork-join-executor {
>> parallelism-min = 1
>> parallelism-factor = 1
>> #parallelism-max = 1
>> }
>> }
>> }
>> (non-akka parts elided)
>>
>> The only interesting thing there is parallelism-factor which is 1 here while
>> I use 2. I'll try it with the lower value.
>>
>> Thanks,
>>
>> Reid.
>>
>>
>> On Saturday, February 21, 2015 at 5:24:40 PM UTC-5, Jim Hazen wrote:
>> Hi Reid,
>>
>> Sorry I don't have my IDE in front of me. You might take a look at some of
>> Akka's scheduling configuration options. You mentioned Spray, and there's a
>> benchmark example Spray app that ships with a pretty good application.conf
>> that exposes and tweaks some of these config values, the scheduler being one
>> of them. AFAIK the scheduler fires completed tasks on a clock/tick based
>> timer. You may be bumping up against the scheduler's default clock timing
>> threshold, which can be reduced.
>>
>> Hope that helps.
>>
>> -Jim
>>
>> --
>> >>>>>>>>>> Read the docs: http://akka.io/docs/ <http://akka.io/docs/>
>> >>>>>>>>>> Check the FAQ:
>> >>>>>>>>>> http://doc.akka.io/docs/akka/current/additional/faq.html
>> >>>>>>>>>> <http://doc.akka.io/docs/akka/current/additional/faq.html>
>> >>>>>>>>>> Search the archives: https://groups.google.com/group/akka-user
>> >>>>>>>>>> <https://groups.google.com/group/akka-user>
>> ---
>> You received this message because you are subscribed to a topic in the
>> Google Groups "Akka User List" group.
>> To unsubscribe from this topic, visit
>> https://groups.google.com/d/topic/akka-user/zI0iXocMtig/unsubscribe
>> <https://groups.google.com/d/topic/akka-user/zI0iXocMtig/unsubscribe>.
>> To unsubscribe from this group and all its topics, send an email to
>> [email protected]
>> <mailto:[email protected]>.
>> To post to this group, send email to [email protected]
>> <mailto:[email protected]>.
>> Visit this group at http://groups.google.com/group/akka-user
>> <http://groups.google.com/group/akka-user>.
>> For more options, visit https://groups.google.com/d/optout
>> <https://groups.google.com/d/optout>.
>
>
> --
> >>>>>>>>>> Read the docs: http://akka.io/docs/ <http://akka.io/docs/>
> >>>>>>>>>> Check the FAQ:
> >>>>>>>>>> http://doc.akka.io/docs/akka/current/additional/faq.html
> >>>>>>>>>> <http://doc.akka.io/docs/akka/current/additional/faq.html>
> >>>>>>>>>> Search the archives: https://groups.google.com/group/akka-user
> >>>>>>>>>> <https://groups.google.com/group/akka-user>
> ---
> You received this message because you are subscribed to a topic in the Google
> Groups "Akka User List" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/topic/akka-user/zI0iXocMtig/unsubscribe
> <https://groups.google.com/d/topic/akka-user/zI0iXocMtig/unsubscribe>.
> To unsubscribe from this group and all its topics, send an email to
> [email protected]
> <mailto:[email protected]>.
> To post to this group, send email to [email protected]
> <mailto:[email protected]>.
> Visit this group at http://groups.google.com/group/akka-user
> <http://groups.google.com/group/akka-user>.
> For more options, visit https://groups.google.com/d/optout
> <https://groups.google.com/d/optout>.
--
>>>>>>>>>> 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.