[prev in list] [next in list] [prev in thread] [next in thread] 

List:       xmlrpc-user
Subject:    Re: How to stop receiving requests?
From:       Daniel Rall <dlr () finemaltcoding ! com>
Date:       2002-05-30 20:42:08
[Download RAW message or body]

Kenny Leung (inside) <kenny_leung@pobox.com> writes:

> Hi All.
>
> My virgin posting to the list.
>
> I have an xmlrpc server set up, and it receives big chunks of data
> via remote calls. Because the call handling is multithreaded, I can
> receive more calls than I can really handle. The memory usage goes
> up until I eventually run out of memory. How can I guard against
> this? Is there a way to get the server to serialize its requests
> instead of running them in parallel?

Due to spec restrictions, the current XML-RPC implementation is not
optimized with regard to memory usage.  I don't know of a way to
serialize the requests off hand, and wouldn't suggest doing so any
how.  What you really want to do is introduce a throttling mechansim
which kicks in when you get close to maxing out your memory.  One way
of doing this would be to allocate a block of memory when the server
starts up, and when an OutOfMemoryError is thrown, release that
pre-alloc'd block and start throttling.

Some code which does configurable throttling would be a nice
addition.  The development list is the place to discussion such
changes.

- Dan
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic