Re: Scaling Reggie

Gregg Wonderly <[email protected]>
Newsgroups gmane.comp.java.sun.jini
Message-ID <[email protected]>
Dennis Reedy wrote:
> I've been asked to evaluate a deployment [*] that at the moment has
> 800 clients performing simultaneous discovery of a lookup service,
> with subsequent discovery of services that have active service
> registrations [**].
>
> We are getting out of memory exceptions when the clients start up and
> do the discovery (this occurs within a 5-6 second window). Each
> client correlates to a physical machine. The immediate thought was to
> add a random wait for the clients to initialize, this may not be
> possible due to other (assumed) application constraints.
>
> Is the right place to look would be the
> com.sun.jini.reggie.taskManager setting? What would be a recommended
> setting for this property?
>
> Another approach is to partition the clients to separate lookup
> instances, perhaps 200-300 per lookup. Are there any rough ideas on
> what the "right" number here could be
>
> Has anyone scaled reggie to this level (or beyond)?

When there are 100s of services registered, and there are 100s of clients piling
on, you probably need to implement some pretty specific controls to adequately
mitigate issues with the incomming requests.  Bob's suggestion of using the
delay configuration value on the client, will provide some randomization.
You'll need to provide a large enough range of "delay" to fit every client into
that window.  I.e if at optimal execution and threading, reggie can do 1000
service discoveries per second, and there are 800 clients, and 300 services,
then you are talking about 240,000 discovery operations.  At 1000 per second,
that's 240 seconds of discovery time that clients need at a minimum.

Partitioning into multiple lookup servers would logically provide the ability to
use a reduced window of time.

It seems like having some more direct throttling inside reggies incoming event
handling would be appropriate too.  Maybe that's something else I could try out
with the work I've done at http://reef.dev.java.net.

Gregg Wonderly

--------------------------------------------------------------------------
Getting Started:     http://www.jini.org/wiki/Category:Getting_Started
Community Web Site:  http://jini.org
jini-users Archive:  http://archives.java.sun.com/archives/jini-users.html
Unsubscribing:       email "signoff JINI-USERS"  to [email protected]
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.