You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Gary Tully (JIRA)" <ji...@apache.org> on 2008/05/01 11:19:44 UTC
[jira] Closed: (AMQ-1689) (NIO)DataFileAppender does to many sync
or force calls when there is little or no concurrency
[ https://issues.apache.org/activemq/browse/AMQ-1689?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Gary Tully closed AMQ-1689.
---------------------------
> (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.