[
https://issues.apache.org/activemq/browse/AMQ-1689?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Hiram Chirino resolved AMQ-1689.
--------------------------------
Fix Version/s: 5.1.0
Resolution: Fixed
slightly modified version of the patch committed. thx.
> (NIO)DataFileAppender does to many sync or force calls when there is little
> or no concurrency
> ---------------------------------------------------------------------------------------------
>
> Key: AMQ-1689
> URL: https://issues.apache.org/activemq/browse/AMQ-1689
> Project: ActiveMQ
> Issue Type: Improvement
> Components: Message Store
> Affects Versions: 5.1.0
> Environment: Windows, NIO force and File sync perform poorly
> Reporter: Gary Tully
> Assignee: Hiram Chirino
> Priority: Minor
> Fix For: 5.1.0
>
> Attachments: fileAppenderBatch.patch
>
>
> Where NIO channel force and fileDescriptor.sync perform poorly and there is
> little concurrently, the kaha DataFileAppender performs poorly.
> A test case where a single producer and consumer operate from either ends of
> a networked pair of brokers shows the problem. It takes ~3 minutes to send
> 1000 messages on windows!. The problem is that 70% of the time is spent in
> NIO channel.flush()
> The flush is batched if there are concurrent writes, but otherwise, a single
> write is flushed immediately.
> My proposal is to have the batch processor batch till a batch is full or till
> a sync flag is present in a write command or till some timeout expires or if
> the appender is closed.
> This reduces the number of force calls and with this change, my test case can
> do 1000 messages in ~1minute.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.