Router Heap w/ JDBC Store
1 posts in topic
Flat View  Flat View
TOPIC ACTIONS:
 

Posted By:   Matthias_Ernst
Posted On:   Tuesday, January 25, 2005 04:10 AM

We're (ab)using Swift to persistently store many (hundreds of thousands up to millions of) messages. I notice the router's heap (4.7.0) is growing at about 100 byte per message if I simply populate a queue. The router startup also takes progressively longer as it seems to read the queues' contents.

Does the router store some kind of message information in the heap even with the JDBC store? Is there a way to avoid that?

Thanks,
Matthias

Re: Router Heap w/ JDBC Store

Posted By:   Andreas_Mueller  
Posted On:   Tuesday, January 25, 2005 04:29 AM

The queue helds a message index (a pointer) per message in memory. This index contains some fields for ordering and a 2nd pointer to the store. The actual message is in the JDBC store. You cannot avoid it. With such an amount of messages you would need to increase the heap size.


The reason why it takes so long at startup with that amount of messages is that the queue builds up the message indexes from the JDBC store. Take a look at the SQL statements of the JDBC Swiftlet. They are configurable. You might also add an index on the resp. database columns.


See here.
About | Sitemap | Contact