GitHub user chrisvest opened a pull request:
https://github.com/apache/lucene-solr/pull/236
Branch 5x small optimisations
In a test with a high concurrency, high write workload on the
NRTCachingDirectory, these changes gives me a ~10-15% throughput improvement.
To get that, I had to increase the buffer size to 4 KiB. I have left it as is,
and just allowed it to be tuned.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/chrisvest/lucene-solr branch_5x-neo-opt
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/lucene-solr/pull/236.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #236
----
commit 019441ae8414df779b86c86967a2a6c474bf8650
Author: Chris Vest <[email protected]>
Date: 2017-08-18T11:11:00Z
Reduce contention on RAMFile monitor lock
This monitor lock is quite popular in high concurrency, high write work
loads, because numBuffers() is called quite often.
This changes the numBuffers() method so it no longer takes the RAMFile
monitor lock, but instead does a volatile read.
commit 20de28c8dda8d9496ccfbd4e9c1bd9c98fca1887
Author: Chris Vest <[email protected]>
Date: 2017-08-18T11:13:28Z
Make the RAMFile buffer size configurable
Larger buffers can improve the write throughput of e.g.
NRTCachingDirectories.
The buffer size can now be changed via the
`org.apache.lucene.store.RAMOutputStream.BUFFER_SIZE` system property.
----
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]