[ 
https://issues.apache.org/jira/browse/DERBY-5772?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Knut Anders Hatlen updated DERBY-5772:
--------------------------------------
    Attachment: pagecache-counters.png
                pagecache-counters.diff

Uploading a slightly revised version of [^pagecache-counters.diff] where the 
MBean and the cache manager have two extra methods, setCollectAccessCount() and 
getCollectAccessCount(), that can be used to switch counting of cache accesses 
on and off. Default is off.

With that patch, I ran some tests to see how these changes would affect the 
performance. I used the performance test clients from the 
org.apache.derbyTesting.perf.clients package. The test was run with 
derby.storage.pageCacheSize=25000 and -load sr_select_multi. I believe this 
tests the worst case for the patch because
- there are no writes (writing a page to disk would dwarf the cost of 
increasing a counter)
- the entire database fits in the page cache, so there are no cache misses 
(cache misses would have generated disk I/O, which would have dwarfed the cost 
of the counter)
- each thread has its own table, so there are no data or lock bottlenecks that 
shadow the overhead of maintaining counters in the cache

The test ran on an 8-core machine with Solaris 11 and JDK 8u20. The attached 
graph [^pagecache-counters.png] shows the results from running the test with 
from 1 up to 16 concurrent threads (each point in the graph is the average of 
nine test runs). My reading of the results is that there is no measurable 
difference in performance between the clean trunk and one that has the probes 
without enabling them. If the probes are enabled, there is a small, but 
measurable, degradation when the system gets saturated (when the number of 
threads is >= 10 in this experiment). I think this means it would be safe to 
add such probes, have them disabled by default, and make it easy to turn them 
on at runtime when needed.

> Give  users a way to monitor more Derby internals.
> --------------------------------------------------
>
>                 Key: DERBY-5772
>                 URL: https://issues.apache.org/jira/browse/DERBY-5772
>             Project: Derby
>          Issue Type: Improvement
>          Components: JMX, Tools
>    Affects Versions: 10.9.1.0
>            Reporter: Rick Hillegas
>         Attachments: pagecache-counters.diff, pagecache-counters.diff, 
> pagecache-counters.png
>
>
> We should give users a way to track hits/misses in the page cache. This will 
> help users tune the size of the page cache. JMX-visible monitors might be a 
> useful solution here. See the following email thread: 
> http://old.nabble.com/Cache-Hit-Miss-rates-for-Derby-pageCache-to33865646.html#a33865646



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to