I don't think we need an actual multi threaded cache. the flush operation in Hibernate is not multi threaded, neither is the session. A simple Map (or a better append only structure) will suffice, I think.
On 25 avr. 2012, at 09:32, Guillaume SCHEIBEL wrote: > Hi all, > > What do you think about using the Ehcache module to store the data between 2 > flushes ? > I will open a JIRA about this point if it has not already been done. > > Guillaume > > 2012/4/25 Emmanuel Bernard <emman...@hibernate.org> > Hi Alan and all, > > I have been researching the spikes issue you encounter in the stress test > from a theoretical point of view. > You were trying a different associations storage approach (splitting > associations as one row per document rather than the whole association per > document). Does that return better results? > > I am skeptical for a few reasons. MongoDB has a global write lock per mongod > process (they are working on a more fine grained solution). So if the spikes > are due to lock contention, shuffling data won't help much. Also make sure > you use MongoDB 2.0 instead of 1.8 as they yield lock on page fault which > should solve a lot of these spikes problems. > > I have found this blog entry to be quite insightful > http://blog.pythonisito.com/2011/12/mongodbs-write-lock.html > > Generally speaking, if all data can stay in memory, MongoDB should behave > wonderfully. > > Which leads to my demo and the time difference between Infinispan 5s and > Mongodb 20s. I can see several reasons: > > - we don't really batch operations in the mongodb dialect and we should. > We should accumulate operations and apply them at the end of the flush > operation in one batch. That will require some new infrastructure from OGM's > engine though > to tell the dialect when to "flush". > - my VM might swap memory on disk which would explain the difference > - or it could be that Infinispan is simply 4 times faster which would not be > too surprising as Infinispan is in-process. > > Emmanuel > _______________________________________________ > hibernate-dev mailing list > hibernate-dev@lists.jboss.org > https://lists.jboss.org/mailman/listinfo/hibernate-dev > _______________________________________________ hibernate-dev mailing list hibernate-dev@lists.jboss.org https://lists.jboss.org/mailman/listinfo/hibernate-dev