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

Mike Matrigali reassigned DERBY-3734:
-------------------------------------

    Assignee: Mike Matrigali

> Maximum value allowed for derby.storage.fileCacheSize (100) is too low for 
> large system.  Increase the maximum value and redocument the property.
> -------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: DERBY-3734
>                 URL: https://issues.apache.org/jira/browse/DERBY-3734
>             Project: Derby
>          Issue Type: Bug
>          Components: Performance
>    Affects Versions: 10.3.3.0
>         Environment: Derby 10.3.3
>            Reporter: Stan Bradbury
>            Assignee: Mike Matrigali
>
> Increasing the value of the undocumented property:  
> derby.storage.fileCacheSize improves Derby performance in our system but the 
> maximum allowed value (100) is not large enough to accommodate our system.  
> Our performance engineer reports:
> The following stack shows items being evicted from Derby's container cache.  
> Extra debug code showed that the cache was at its maximum size (100), and 
> that about 1 in 25 accesses to the cache was resulting in a miss (forcing 
> another item to be evicted).  Since this results in synchronous disk write, 
> performance is bottlenecked on IO.  Patching Derby to allow the cache to grow 
> to 200 entries solved the performance problem.
> Performance is severely degraded.  CPU utilization is low -- performance is 
> IO bound.  A sampling of stack dumps for the key thread consistently have the 
> following methods at the top of the stack:
> at sun/nio/ch/FileChannelImpl.force0(Native Method)
> at sun/nio/ch/FileChannelImpl.force(FileChannelImpl.java:392(Compiled Code))
> at org/apache/derby/impl/io/DirRandomAccessFile4.sync(Bytecode PC:5(Compiled 
> Code))
> at org/apache/derby/impl/store/raw/data/RAFContainer.writeRAFHeader(Bytecode 
> PC:86(Compiled Code))
> at org/apache/derby/impl/store/raw/data/RAFContainer.clean(Bytecode 
> PC:84(Compiled Code))
> at org/apache/derby/impl/services/cache/CachedItem.clean(Bytecode 
> PC:7(Compiled Code))
> at org/apache/derby/impl/services/cache/Clock.rotateClock(Bytecode 
> PC:7(Compiled Code))
> at org/apache/derby/impl/services/cache/Clock.findFreeItem(Bytecode 
> PC:17(Compiled Code))
> at org/apache/derby/impl/services/cache/Clock.find(Bytecode PC:71(Compiled 
> Code))
> at 
> org/apache/derby/impl/store/raw/data/BaseDataFileFactory.openContainer(Bytecode
>  PC:65(Compiled Code))
> at 
> org/apache/derby/impl/store/raw/data/BaseDataFileFactory.openContainer(Bytecode
>  PC:7(Compiled Code))
> at org/apache/derby/impl/store/raw/xact/Xact.openContainer(Bytecode 
> PC:29(Compiled Code))

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to