[
https://issues.apache.org/jira/browse/BOOKKEEPER-157?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13196204#comment-13196204
]
Ivan Kelly commented on BOOKKEEPER-157:
---------------------------------------
I think I've figured it out. Netty is doing some buffering. (see
[NioSocketChannel|http://grepcode.com/file/repo1.maven.org/maven2/org.jboss.netty/netty/3.2.4.Final/org/jboss/netty/channel/socket/nio/NioSocketChannel.java#158])
. If the thread writing to the channel cannot saturate it, due to a lot of
time being spent calculating the digests, then buffering will happen. With more
bookies, you have more NioSocketChannels, and more buffers which you're not
able to saturate. By increasing the threads calculating the digests we can
saturate the buffers, and allow more bookies to improve throughput.
> For small packets, increasing number of bookies actually degrades performance.
> ------------------------------------------------------------------------------
>
> Key: BOOKKEEPER-157
> URL: https://issues.apache.org/jira/browse/BOOKKEEPER-157
> Project: Bookkeeper
> Issue Type: Bug
> Reporter: Ivan Kelly
> Assignee: Ivan Kelly
> Fix For: 4.1.0
>
> Attachments: BOOKKEEPER-157.diff, run1.pdf
>
>
> When benchmarking with packets smaller than 1k, performance will degrade when
> the ensemble contains more than 3 bookies. See attached diagram.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira