On Sun, Jul 8, 2018 at 8:36 PM li.penghui <[EMAIL PROTECTED]> wrote:
`journalAdaptiveGroupWrites == false` doesn't mean disabling group commits.
even you set `journalSyncData` to false, group commit still happens at 2ms
interval, that means for each write it has to wait for 2ms, and you are
using synchronous api, so 400 ops/s per thread is the throughput you can
if you want to get low latency with synchronous API,
- set `journalSyncData` to false, to disable fsync
- set `journalMaxGroupWaitMSec` to 0, disable time based group commit
- set `journalBufferedWritesThreshold` and journalBufferedEntriesThreshold`
to 0, disable bytes/entries based group commit
you can consider increasing `journalWriteBufferSizeKB` from 64 to 1024, to
leverage buffer write to give you low latency for sync writes.
see my comment above.
since you are using synchronous apis, the only way to get high throughput
is to reduce the write latency per operation (disable group commit and
disable fsync on server side). because even you have multiple threads
writing to one ledger, but these multiple threads are kind of blocking each
other, because bk acknowledges entries in order. so the whole throughput is
eventually bound by server write latency.
try use the settings I pointed out above.