Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • Dec 14 19:13
    hwanders commented #4096
  • Dec 14 13:05
    IgorFedchenko commented #4085
  • Dec 14 03:08
    hhko commented #4094
  • Dec 13 21:37
    Aaronontheweb commented #4085
  • Dec 13 20:28
    IgorFedchenko commented #4085
  • Dec 13 20:27
    IgorFedchenko commented #4085
  • Dec 13 15:38
    Aaronontheweb labeled #4096
  • Dec 13 15:38
    Aaronontheweb milestoned #4096
  • Dec 13 15:38
    Aaronontheweb labeled #4096
  • Dec 13 15:38
    Aaronontheweb opened #4096
  • Dec 13 10:41
    peirens-bart opened #4095
  • Dec 13 08:37
    Aaronontheweb synchronize #4071
  • Dec 13 08:13
    jiyeongj opened #4094
  • Dec 12 15:42
    Aaronontheweb synchronize #4086
  • Dec 12 15:42
    Aaronontheweb closed #4083
  • Dec 12 15:42

    Aaronontheweb on dev

    Fix #4083 - Endpoint receive bu… (compare)

  • Dec 12 15:42
    Aaronontheweb closed #4089
  • Dec 12 15:42
    Aaronontheweb labeled #4093
  • Dec 12 15:42
    Aaronontheweb labeled #4093
  • Dec 12 15:42
    Aaronontheweb labeled #4093
Aaron Stannard
@Aaronontheweb
at peak loads I did about 20 million remote messages per day per Akka.Remote node (on the receiving end)
overhead was super minimal - like 3-15% CPU utilization on a medium-sized box on EC2
for that workload even at peak hours
your mileage may vary :p
coffeeyesplease
@coffeeyesplease
all right.. that’s very encouraging.
I’m still studying the architecture for this project.. because right now (for this client in particular and with our database) the number of messages is just waay too inneficient…. 600M a day
its just feels like a waste of bandwidht if you ask me
Aaron Stannard
@Aaronontheweb
is all of that over HTTP?
coffeeyesplease
@coffeeyesplease
God no
Aaron Stannard
@Aaronontheweb
thank God
I was going to say
I hope your EC2 sales rep / whatever vendor you use drives a nice car
coffeeyesplease
@coffeeyesplease
lol
These guys have their own machines/data center
Aaron Stannard
@Aaronontheweb
but yeah, that sounds like a lot of messages
although in-process messages within akka.net are dirt cheap from an overhead point of view
remote messages, less so - serialization overhead on both ends of the connection can add up
coffeeyesplease
@coffeeyesplease
Yeah. My first job is to actually reduce the number of messages
it did some remoting testing.. and firing 1M took the sender something 700ms...
Aaron Stannard
@Aaronontheweb
/flex
coffeeyesplease
@coffeeyesplease
but a bit longer to get to the other side
Aaron Stannard
@Aaronontheweb
one thing I haven't tested
but would like to
hmmm, actually
Roger Johansson
@rogeralsing
Do we have any benchmarks on remoting throughput?
Aaron Stannard
@Aaronontheweb
@rogeralsing not really - I've benchmarked Helios before and it's able to handle a pretty stupid amount of traffic without falling down
something like 250,000 reads per second on 2 threads at 3-4% CPU
never done anything like that for Akka.Remote though
what I'd like to do ideally is add a benchmarking system for Akka.Cluster
test how different cluster sizes perform
and make it pluggable for people's apps
as for what you were saying @coffeeyesplease - I think the reason the recieving end is slower is because of how remote messages get delivered to their recipients
coffeeyesplease
@coffeeyesplease
[disclaimer]: I’m not experienced with neither helios os Akka.Net
Aaron Stannard
@Aaronontheweb
I think everything gets done as an actor selection
coffeeyesplease
@coffeeyesplease
I’ve with helios and it was damn fast
Aaron Stannard
@Aaronontheweb
so it takes some time to resolve each of those to an ActorRef
coffeeyesplease
@coffeeyesplease
I can’t remember teh numbers but it was really fast, but for some strange reason I was losing some of the messages
Aaron Stannard
@Aaronontheweb
if it was the same message each time and it didn't get logged by dead letters then it could be an issue with Helios' message decoding
Roger Johansson
@rogeralsing
Actually, i did see some messageloss when i had the students writing their paper
coffeeyesplease
@coffeeyesplease
hmmm!!!
Aaron Stannard
@Aaronontheweb
next thing I'm working on after we ship Akka.Cluster is Helios 2.0, which has a better model for dealing with that problem
it's going to follow Netty's design much more closely than the current version
(Akka.Cluster will ship after Akka.NET 1.0 is released)
Roger Johansson
@rogeralsing
Aaron, we should take a look if that was just my naive testcase or if it is a real issue
Aaron Stannard
@Aaronontheweb
if you have some bits that you can send me i can take a look
if it's a Helios issue then I know exactly where the problem is
it's the LengthFrameDecoder
either it or the ByteBuf sitting on top of it grabs only a partial chunk of a message
coffeeyesplease
@coffeeyesplease
yeah, I try and find the test
Aaron Stannard
@Aaronontheweb
the decoder reads some bytes that aren't actually the length-frame header