[ https://issues.apache.org/jira/browse/DERBY-2911?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Knut Anders Hatlen updated DERBY-2911: -------------------------------------- Attachment: d2911perf.java I have written a small test which can be used to measure performance improvements in this issue. It is a multi-threaded test which performs primary-key lookups. Each thread has its own table to work on to avoid contention on latches (which is a scalability issue separate from the one we're trying to solve in this JIRA issue). It's a standalone Java program for now since our JUnit framework doesn't support multi-threaded tests yet, as far as I can see. To run the test, use this command line: java d2911perf <DB-URL> <THREADS> <WARMUP> <COLLECT> The test will have a warm-up phase of <WARMUP> seconds and collect results for <COLLECT> seconds. > Implement a buffer manager using java.util.concurrent classes > ------------------------------------------------------------- > > Key: DERBY-2911 > URL: https://issues.apache.org/jira/browse/DERBY-2911 > Project: Derby > Issue Type: Improvement > Components: Performance, Services > Affects Versions: 10.4.0.0 > Reporter: Knut Anders Hatlen > Assignee: Knut Anders Hatlen > Priority: Minor > Attachments: d2911-unused.diff, d2911-unused.stat, d2911perf.java > > > There are indications that the buffer manager is a bottleneck for some types > of multi-user load. For instance, Anders Morken wrote this in a comment on > DERBY-1704: "With a separate table and index for each thread (to remove latch > contention and lock waits from the equation) we (...) found that > org.apache.derby.impl.services.cache.Clock.find()/release() caused about 5 > times more contention than the synchronization in LockSet.lockObject() and > LockSet.unlock(). That might be an indicator of where to apply the next push". > It would be interesting to see the scalability and performance of a buffer > manager which exploits the concurrency utilities added in Java SE 5. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.