Github user fredrikjonson commented on the pull request:
https://github.com/apache/activemq-artemis/pull/54#issuecomment-116262734
Clebert,
First, perhaps you'll find the following phrasing clearer: "Timeout, in
nanoseconds, after which all journal buffer data is written to disk, regardless
of amount of buffered data. Increasing this value can improve message
throughput at the cost increased latency." The phrasing was inspired by the
current user manual,
http://activemq.apache.org/artemis/docs/1.0.0/persistence.html
Second, I'm surprised by the proposed new value, 100 ns. I'm certain I must
have misunderstood either the unit (ns) or the current documentation of
journal-buffer-timeout. The documentation states that the attributes current
"default for NIO is 3333333 nanoseconds - 300 times per second, default for AIO
is 500000 nanoseconds - ie. 2000 times per second." Is your intent really to
reduce this value several 1000 times, from 3333333 ns to 100 ns? Wouldn't that
increase the worst case IOPS requirement on the disk system from 2000 IOPS to
10000000(!) IOPS?
Third, wouldn't it be better to change the default values in the source and
let that change be reflected by an update of the user manual (there are AFAIU
two distinct values BTW, depending on AOI or NIO), rather than changing a
generated default configuration and thus letting the default configuration
diverge from the default value in the source code and the manual?
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---