[infinispan-issues] [JBoss JIRA] Commented: (ISPN-663) Eviction with passivation using JdbmCacheStore is 100 times slower in 4.1 vs 4.0
Trustin Lee (JIRA)
jira-events at lists.jboss.org
Wed Oct 6 02:26:39 EDT 2010
[ https://jira.jboss.org/browse/ISPN-663?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12555451#action_12555451 ]
Trustin Lee commented on ISPN-663:
----------------------------------
I was able to achieve the similar behavior using AsyncStore:
AsyncStoreConfig asyncConfig = new AsyncStoreConfig();
asyncConfig.setEnabled(true);
...
cacheStoreConfig.setAsyncStoreConfig(asyncConfig);
However, because AsyncStore does not delay the store() operations late enough (i.e. performs the enqueued operations ASAP), the test result remains the same. If I put an arbitrary delay in the AsyncStore's processor, I can get the numbers similar to that of 'disabled store()' (#action_12554367). To address this issue, we have to improve AsyncStore to keep the enqueued store() operations and flush them periodically or for every N modifications. (See ISPN-328)
Let me continue to investigate on why it is still 5~10 times slower without store().
> Eviction with passivation using JdbmCacheStore is 100 times slower in 4.1 vs 4.0
> --------------------------------------------------------------------------------
>
> Key: ISPN-663
> URL: https://jira.jboss.org/browse/ISPN-663
> Project: Infinispan
> Issue Type: Bug
> Components: Eviction, Loaders and Stores
> Affects Versions: 4.1.0.Final
> Environment: Win32 JRE 1.6.0_21
> Reporter: Paul Nardone
> Assignee: Trustin Lee
> Fix For: 4.2.0.BETA1, 4.2.0.Final
>
> Attachments: InfinispanPassivationTest.java
>
>
> Eviction with passivation enabled using the JdbmCacheStore appears to be significantly slower in 4.1.0.FINAL vs 4.0.0.FINAL.
> The degredation in performance is so signficant to make it impossible to use
> The performance issue seems to due as the JdbmCacheStore synching the filesystem via FileDescriptor.sync() or similar which occurs during every object passivation and each passivation occurs as a new object is added beyond the EvictionMaxEntries capacity.
> The attached test inserts 1000 values into two caches
> Both caches use a JdbmCacheStore and LRU
> PASSIVATIONLRU10 runs with cache with EvictionMaxEntries 10
> PASSIVATIONLRU1000 runs with cache with EvictionMaxEntries 1000
> 4.1.0.FINAL
> PASSIVATIONLRU10 Time Taken : 51704
> PASSIVATIONLRU1000 Time Taken : 4484
> 4.0.0.FINAL
> PASSIVATIONLRU10 Time Taken : 281
> PASSIVATIONLRU1000 Time Taken : 141
> 4.2.0.ALPHA2
> PASSIVATIONLRU10 Time Taken : 51047
> PASSIVATIONLRU1000 Time Taken : 5156
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the infinispan-issues
mailing list