activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Gary Tully (JIRA)" <>
Subject [jira] Closed: (AMQ-1689) (NIO)DataFileAppender does to many sync or force calls when there is little or no concurrency
Date Thu, 01 May 2008 09:19:44 GMT


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:
>             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.

View raw message