the index cache is a page cache for the index btree, which keeps entries in 4k pages. indexCacheSize is the number of pages to cache.
caching pages means that reads are reduced, but writes still go to disk so there is no reliability implications on making it larger. you may want to play with the org.apache.activemq.store.kahadb.KahaDBPersistenceAdapter#isUseIndexLFRUEviction option. To swap the default LRUCache with a LFUCache. (recently vs frequency based eviction) On 20 July 2012 15:36, James Black <be_st...@yahoo.co.uk> wrote: > Hi > > basically for KahaDB what is the exact meaning and implication of changing > indexCacheSize? > > This defaults to 10,000 and I see our performance issues go away when it is > increased to 50,000. Is this because there are active consumers and our > messages can be acknowledged without having to write them out to the disc? > The larger cache allows the messages to better fit in memory. > > How does this affect reliability if the system lost power, does the redo log > still contain the information on these messages, even though they are not on > disc? > > We have 10 queues with 5-40 consumers on each and one virtual topic. We had > an issue where the virtual topic would eventually grow over a certain amount > and for whatever reason cause the rest of the queues to start grinding to a > crawl. > > Thanks in advance, > > James > > > > -- > View this message in context: > http://activemq.2283324.n4.nabble.com/KahaDB-indexCacheSize-question-tp4654198.html > Sent from the ActiveMQ - User mailing list archive at Nabble.com. -- http://fusesource.com http://blog.garytully.com