On Mon, Sep 28, 2009 at 1:57 PM, ph <[email protected]> wrote:

>
> I don't know if this group is right place to post it, but I couldn't
> find any general Scala or Scala/Actor groups, and this is most active
> Scala group..
>
> I have server that consumes AMQP messages, handles messages in
> dedicated workers(Actors). So design is this:
>
> 1. One Dispatcher which is event-based actor (nested reacts)
>   a. First it listens for event from worker that worker is ready
>   b. when worker is ready it uses nested react to get AMQP message
> and forward it to worker
> react {
>   case WorkerReady(worker:Actor) => react {
>      case m...@message => worker ! msg; channelHandler ! 'ack; act
>   }
> }
> 2. Few workers that are thread-based actors (sends 'WorkerReady' to
> dispatcher)
> 3. RabbitMQ Java lib, handleDelivery (baseConsume) in Java lib
> Connection thread (sends 'message' to dispatcher)
> 4. There is also one per dispatcher thread-based actor that handles
> AMQP channel, but it's not important here (channelHandler ! 'ack)
>
> so when I'm running load test I see that number of threads that used
> by "dispatcher" is growing (so far up to 200) and performance is going
> down. Most of them are always in "blocked" state
> Dispatcher's Actor queue never should be more that few messages as I'm
> using QoS = 5 on channel and sending ack only when worker picks up
> message, also I have just a few workers
> When I'm looking to heap, I can see that more than 80% (up to 95%) are
> "scala.actors.FJTaskRunner$VolatileTaskRef" objects and number of
> those is quickly growing (have 1'000'000 right now).
>
> What can be a cause of spawning so many threads and large number of
> 'scala.actors.FJTaskRunner$VolatileTaskRef' objects (GC doesn't kill
> them)? And is there a way to limit size of thread pool used by even
> Actors? Is there a way to monitor size of Actor queue?
>

Please see this thread for more information on tuning Actors
http://groups.google.com/group/liftweb/browse_thread/thread/b3783e24b8417521/f89548ba1fa70319?hl=en&lnk=gst&q=oome#f89548ba1fa70319

You might consider using akkasource.org Actors.


>
> >
>


-- 
Lift, the simply functional web framework http://liftweb.net
Beginning Scala http://www.apress.com/book/view/1430219890
Follow me: http://twitter.com/dpp
Surf the harmonics

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Lift" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/liftweb?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to