You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Ganesh Murthy (Jira)" <ji...@apache.org> on 2021/11/02 16:16:00 UTC

[jira] [Updated] (DISPATCH-2000) Consider increasing default internal buffer size

     [ https://issues.apache.org/jira/browse/DISPATCH-2000?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Ganesh Murthy updated DISPATCH-2000:
------------------------------------
    Priority: Major  (was: Critical)

> Consider increasing default internal buffer size
> ------------------------------------------------
>
>                 Key: DISPATCH-2000
>                 URL: https://issues.apache.org/jira/browse/DISPATCH-2000
>             Project: Qpid Dispatch
>          Issue Type: Improvement
>          Components: Router Node
>    Affects Versions: 1.15.0
>            Reporter: Charles E. Rolke
>            Assignee: Ganesh Murthy
>            Priority: Major
>             Fix For: 1.18.0
>
>
> Tests with the TCP adaptor and a 4k-byte buffer size show _significant throughput increases_ with _otherwise minimal code changes_. For this discussion, assume that the new buffer size will be 4k bytes.
> Note: This discussion nearly parallels the discussion of increasing hard drive sector size to 4K. See [Transition to Advanced Format 4K Sector Hard Drives |[https://www.seagate.com/tech-insights/advanced-format-4k-sector-hard-drives-master-ti/].] The pros and cons of increasing the size for disk drives and for qpid-dispatch are pretty much the same.
> Dispatch has never had anything but 512-byte internal buffers. This lends a lot of weight for keeping the current setting. However, from day one the self tests exercise various buffer sizes from 1-byte to 10000-bytes and the tests have worked fine. This is a positive indication that physically the buffer functions and buffer management proper would work with any buffer size.
> Logically there are some other issues. These must be understood and considered before moving forward with any change.
>  * Expect total memory usage to go up due to unused buffer space with small messages
>  * Expect total memory usage to go down due to more efficient buffer use with large messages
>  * Policy implements Q2 throttling with a buffer count limit. If that limit is not adjusted then flow control will not take effect until 8x as much AMQP session data has been buffered.
> Adjusting the buffer size from 512 to 4096 must happen either at compile time or at run time very early, before qd_router_setup_late() is called, when buffers start being created and buffer size cannot be changed any more. A pull request is in the works that adds a --4k-buffer switch to the command line to simplify testing with the larger buffer size.
> I expect that going to 4K buffers will have a performance improvement certainly for the TCP adaptor but also for the other protocol adaptors and for AMQP as well.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org