You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "James Herrmann (Commented) (JIRA)" <ji...@apache.org> on 2012/04/11 19:09:21 UTC

[jira] [Commented] (IO-278) Improve Tailer performance with buffered reads

    [ https://issues.apache.org/jira/browse/IO-278?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13251745#comment-13251745 ] 

James Herrmann commented on IO-278:
-----------------------------------

Looks like theses patches have been rolled in. So, congrats to all on that. I went ahead and maven repo'ed your fork anyway because of the IO-269 issue. Tailer would read from start of file on frequent occasions. Not good when you're sending alerts! Sergio, does your fork handle the IO-269 bug? Right now, that's the last known issue I'm concerned about.

Thanks!

Jim
                
> Improve Tailer performance with buffered reads
> ----------------------------------------------
>
>                 Key: IO-278
>                 URL: https://issues.apache.org/jira/browse/IO-278
>             Project: Commons IO
>          Issue Type: Improvement
>    Affects Versions: 2.0.1
>            Reporter: Sergio Bossa
>         Attachments: Tailer.diff, TailerTest.diff
>
>
> I noticed Tailer read performances are pretty poor when dealing with large, frequently written, log files, and this is due to the use of RandomAccessFile which does unbuffered reads, hence causing lots of disk I/O.
> So I improved the Tailer implementation by introducing buffered reads: it works by loading large (configurable) file chunks in memory, and reading lines from there; this enhances performances in my tests from 10x to 30x depending on the file size.
> I also added two test cases: one to simulate reading of a large file (you can use it to compare performances), the other to verify correct handling on buffer breaks; obviously, all tests pass.
> I'm attaching the diff files, let me know if it's okay for you guys!

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira