[ 
https://issues.apache.org/jira/browse/LUCENE-753?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12550376
 ] 

Brian Pinkerton commented on LUCENE-753:
----------------------------------------

BTW, I think the performance win with Yonik's patch for some workloads could be 
far greater than what the simple benchmark illustrates.  Sure, pread might be 
marginally faster.   But the real win is avoiding synchronized access to the 
file.

I did some IO tracing a while back on one particular workload that is 
characterized by:
* a small number of large compound indexes
* short average execution time, particularly compared to disk response time
* a 99+% FS cache hit rate
* cache misses that tend to cluster on rare queries

In this workload where each query hits each compound index, the locking in 
FSIndexInput means that a single rare query clobbers the response time for all 
queries.  The requests to read cached data are serialized (fairly, even) with 
those that hit the disk.  While we can't get rid of the rare queries, we can 
allow the common ones to proceed against cached data right away.



> Use NIO positional read to avoid synchronization in FSIndexInput
> ----------------------------------------------------------------
>
>                 Key: LUCENE-753
>                 URL: https://issues.apache.org/jira/browse/LUCENE-753
>             Project: Lucene - Java
>          Issue Type: New Feature
>          Components: Store
>            Reporter: Yonik Seeley
>         Attachments: FileReadTest.java, FileReadTest.java, 
> FSIndexInput.patch, FSIndexInput.patch
>
>
> As suggested by Doug, we could use NIO pread to avoid synchronization on the 
> underlying file.
> This could mitigate any MT performance drop caused by reducing the number of 
> files in the index format.

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


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to