[
https://issues.apache.org/jira/browse/DERBY-3734?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Mike Matrigali resolved DERBY-3734.
-----------------------------------
Resolution: Fixed
Fix to unlimit the maximum setting for the container cache have been applied to
trunk, 10.3 branch and 10.4 branch.
> 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, 10.4.1.3
> Environment: Derby 10.3.3
> Reporter: Stan Bradbury
> Assignee: Mike Matrigali
> Fix For: 10.3.3.1, 10.4.1.4, 10.5.0.0
>
> Attachments: derby-3734-diff.txt
>
>
> 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.