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]