You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Ken Giusti (Created) (JIRA)" <ji...@apache.org> on 2012/02/14 22:09:59 UTC

[jira] [Created] (QPID-3841) Improve batching of writes for outbound messages.

Improve batching of writes for outbound messages.
-------------------------------------------------

                 Key: QPID-3841
                 URL: https://issues.apache.org/jira/browse/QPID-3841
             Project: Qpid
          Issue Type: Improvement
          Components: C++ Broker
    Affects Versions: 0.15
            Reporter: Ken Giusti
            Priority: Minor
             Fix For: 0.15


A patch created by Gordon Sim will allow the connection to batch up outbound messages, resulting in less calls to the socket's write method (as more data is passed with each write).

This results in a small performance improvement.  For example, given a broker with a single queue (flow control disabled), qpid-send filling it and qpid-receive draining it simultaineously with 300 byte messages:

Pre-patch:
qpid-send=    77581 msg/sec
qpid-receive= 77345 msg/sec

Post-patch:
qpid-send=    84931 msg/sec
qpid-receive= 84789 msg/sec





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

        

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org


[jira] [Commented] (QPID-3841) Improve batching of writes for outbound messages.

Posted by "jiraposter@reviews.apache.org (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/QPID-3841?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13208092#comment-13208092 ] 

jiraposter@reviews.apache.org commented on QPID-3841:
-----------------------------------------------------


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/3897/#review5104
-----------------------------------------------------------

Ship it!


Note: this is really a fix to a much earlier regression.

- Gordon


On 2012-02-14 21:21:05, Kenneth Giusti wrote:
bq.  
bq.  -----------------------------------------------------------
bq.  This is an automatically generated e-mail. To reply, visit:
bq.  https://reviews.apache.org/r/3897/
bq.  -----------------------------------------------------------
bq.  
bq.  (Updated 2012-02-14 21:21:05)
bq.  
bq.  
bq.  Review request for qpid, Andrew Stitcher, Alan Conway, and Gordon Sim.
bq.  
bq.  
bq.  Summary
bq.  -------
bq.  
bq.  Patch provided by Gordon that improves the coalescing of outbound message buffers.
bq.  
bq.  
bq.  This addresses bug qpid-3841.
bq.      https://issues.apache.org/jira/browse/qpid-3841
bq.  
bq.  
bq.  Diffs
bq.  -----
bq.  
bq.    /trunk/qpid/cpp/src/qpid/amqp_0_10/Connection.cpp 1230550 
bq.  
bq.  Diff: https://reviews.apache.org/r/3897/diff
bq.  
bq.  
bq.  Testing
bq.  -------
bq.  
bq.  unit test pass, including cluster tests.
bq.  
bq.  
bq.  Thanks,
bq.  
bq.  Kenneth
bq.  
bq.


                
> Improve batching of writes for outbound messages.
> -------------------------------------------------
>
>                 Key: QPID-3841
>                 URL: https://issues.apache.org/jira/browse/QPID-3841
>             Project: Qpid
>          Issue Type: Improvement
>          Components: C++ Broker
>    Affects Versions: 0.15
>            Reporter: Ken Giusti
>            Assignee: Ken Giusti
>            Priority: Minor
>             Fix For: 0.15
>
>
> A patch created by Gordon Sim will allow the connection to batch up outbound messages, resulting in less calls to the socket's write method (as more data is passed with each write).
> This results in a small performance improvement.  For example, given a broker with a single queue (flow control disabled), qpid-send filling it and qpid-receive draining it simultaineously with 300 byte messages:
> Pre-patch:
> qpid-send=    77581 msg/sec
> qpid-receive= 77345 msg/sec
> Post-patch:
> qpid-send=    84931 msg/sec
> qpid-receive= 84789 msg/sec

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

        

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org


[jira] [Assigned] (QPID-3841) Improve batching of writes for outbound messages.

Posted by "Ken Giusti (Assigned) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-3841?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Ken Giusti reassigned QPID-3841:
--------------------------------

    Assignee: Ken Giusti
    
> Improve batching of writes for outbound messages.
> -------------------------------------------------
>
>                 Key: QPID-3841
>                 URL: https://issues.apache.org/jira/browse/QPID-3841
>             Project: Qpid
>          Issue Type: Improvement
>          Components: C++ Broker
>    Affects Versions: 0.15
>            Reporter: Ken Giusti
>            Assignee: Ken Giusti
>            Priority: Minor
>             Fix For: 0.15
>
>
> A patch created by Gordon Sim will allow the connection to batch up outbound messages, resulting in less calls to the socket's write method (as more data is passed with each write).
> This results in a small performance improvement.  For example, given a broker with a single queue (flow control disabled), qpid-send filling it and qpid-receive draining it simultaineously with 300 byte messages:
> Pre-patch:
> qpid-send=    77581 msg/sec
> qpid-receive= 77345 msg/sec
> Post-patch:
> qpid-send=    84931 msg/sec
> qpid-receive= 84789 msg/sec

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

        

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org


[jira] [Commented] (QPID-3841) Improve batching of writes for outbound messages.

Posted by "jiraposter@reviews.apache.org (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/QPID-3841?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13208023#comment-13208023 ] 

jiraposter@reviews.apache.org commented on QPID-3841:
-----------------------------------------------------


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/3897/#review5096
-----------------------------------------------------------

Ship it!


Aside from the noted nits, it seems a good improvement

- Andrew


On 2012-02-14 21:21:05, Kenneth Giusti wrote:
bq.  
bq.  -----------------------------------------------------------
bq.  This is an automatically generated e-mail. To reply, visit:
bq.  https://reviews.apache.org/r/3897/
bq.  -----------------------------------------------------------
bq.  
bq.  (Updated 2012-02-14 21:21:05)
bq.  
bq.  
bq.  Review request for qpid, Andrew Stitcher, Alan Conway, and Gordon Sim.
bq.  
bq.  
bq.  Summary
bq.  -------
bq.  
bq.  Patch provided by Gordon that improves the coalescing of outbound message buffers.
bq.  
bq.  
bq.  This addresses bug qpid-3841.
bq.      https://issues.apache.org/jira/browse/qpid-3841
bq.  
bq.  
bq.  Diffs
bq.  -----
bq.  
bq.    /trunk/qpid/cpp/src/qpid/amqp_0_10/Connection.cpp 1230550 
bq.  
bq.  Diff: https://reviews.apache.org/r/3897/diff
bq.  
bq.  
bq.  Testing
bq.  -------
bq.  
bq.  unit test pass, including cluster tests.
bq.  
bq.  
bq.  Thanks,
bq.  
bq.  Kenneth
bq.  
bq.


                
> Improve batching of writes for outbound messages.
> -------------------------------------------------
>
>                 Key: QPID-3841
>                 URL: https://issues.apache.org/jira/browse/QPID-3841
>             Project: Qpid
>          Issue Type: Improvement
>          Components: C++ Broker
>    Affects Versions: 0.15
>            Reporter: Ken Giusti
>            Assignee: Ken Giusti
>            Priority: Minor
>             Fix For: 0.15
>
>
> A patch created by Gordon Sim will allow the connection to batch up outbound messages, resulting in less calls to the socket's write method (as more data is passed with each write).
> This results in a small performance improvement.  For example, given a broker with a single queue (flow control disabled), qpid-send filling it and qpid-receive draining it simultaineously with 300 byte messages:
> Pre-patch:
> qpid-send=    77581 msg/sec
> qpid-receive= 77345 msg/sec
> Post-patch:
> qpid-send=    84931 msg/sec
> qpid-receive= 84789 msg/sec

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

        

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org


[jira] [Commented] (QPID-3841) Improve batching of writes for outbound messages.

Posted by "jiraposter@reviews.apache.org (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/QPID-3841?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13208019#comment-13208019 ] 

jiraposter@reviews.apache.org commented on QPID-3841:
-----------------------------------------------------


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/3897/
-----------------------------------------------------------

Review request for qpid, Andrew Stitcher, Alan Conway, and Gordon Sim.


Summary
-------

Patch provided by Gordon that improves the coalescing of outbound message buffers.


This addresses bug qpid-3841.
    https://issues.apache.org/jira/browse/qpid-3841


Diffs
-----

  /trunk/qpid/cpp/src/qpid/amqp_0_10/Connection.cpp 1230550 

Diff: https://reviews.apache.org/r/3897/diff


Testing
-------

unit test pass, including cluster tests.


Thanks,

Kenneth


                
> Improve batching of writes for outbound messages.
> -------------------------------------------------
>
>                 Key: QPID-3841
>                 URL: https://issues.apache.org/jira/browse/QPID-3841
>             Project: Qpid
>          Issue Type: Improvement
>          Components: C++ Broker
>    Affects Versions: 0.15
>            Reporter: Ken Giusti
>            Assignee: Ken Giusti
>            Priority: Minor
>             Fix For: 0.15
>
>
> A patch created by Gordon Sim will allow the connection to batch up outbound messages, resulting in less calls to the socket's write method (as more data is passed with each write).
> This results in a small performance improvement.  For example, given a broker with a single queue (flow control disabled), qpid-send filling it and qpid-receive draining it simultaineously with 300 byte messages:
> Pre-patch:
> qpid-send=    77581 msg/sec
> qpid-receive= 77345 msg/sec
> Post-patch:
> qpid-send=    84931 msg/sec
> qpid-receive= 84789 msg/sec

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

        

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org


[jira] [Commented] (QPID-3841) Improve batching of writes for outbound messages.

Posted by "jiraposter@reviews.apache.org (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/QPID-3841?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13208022#comment-13208022 ] 

jiraposter@reviews.apache.org commented on QPID-3841:
-----------------------------------------------------


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/3897/#review5095
-----------------------------------------------------------



/trunk/qpid/cpp/src/qpid/amqp_0_10/Connection.cpp
<https://reviews.apache.org/r/3897/#comment11177>

    nit - Unecessary braces, the lock scope is till the end of the if in any case
    
    Also a comment here explaining why would be good, perhaps:
    
    "// Need to get any new frames into the work queue"


- Andrew


On 2012-02-14 21:21:05, Kenneth Giusti wrote:
bq.  
bq.  -----------------------------------------------------------
bq.  This is an automatically generated e-mail. To reply, visit:
bq.  https://reviews.apache.org/r/3897/
bq.  -----------------------------------------------------------
bq.  
bq.  (Updated 2012-02-14 21:21:05)
bq.  
bq.  
bq.  Review request for qpid, Andrew Stitcher, Alan Conway, and Gordon Sim.
bq.  
bq.  
bq.  Summary
bq.  -------
bq.  
bq.  Patch provided by Gordon that improves the coalescing of outbound message buffers.
bq.  
bq.  
bq.  This addresses bug qpid-3841.
bq.      https://issues.apache.org/jira/browse/qpid-3841
bq.  
bq.  
bq.  Diffs
bq.  -----
bq.  
bq.    /trunk/qpid/cpp/src/qpid/amqp_0_10/Connection.cpp 1230550 
bq.  
bq.  Diff: https://reviews.apache.org/r/3897/diff
bq.  
bq.  
bq.  Testing
bq.  -------
bq.  
bq.  unit test pass, including cluster tests.
bq.  
bq.  
bq.  Thanks,
bq.  
bq.  Kenneth
bq.  
bq.


                
> Improve batching of writes for outbound messages.
> -------------------------------------------------
>
>                 Key: QPID-3841
>                 URL: https://issues.apache.org/jira/browse/QPID-3841
>             Project: Qpid
>          Issue Type: Improvement
>          Components: C++ Broker
>    Affects Versions: 0.15
>            Reporter: Ken Giusti
>            Assignee: Ken Giusti
>            Priority: Minor
>             Fix For: 0.15
>
>
> A patch created by Gordon Sim will allow the connection to batch up outbound messages, resulting in less calls to the socket's write method (as more data is passed with each write).
> This results in a small performance improvement.  For example, given a broker with a single queue (flow control disabled), qpid-send filling it and qpid-receive draining it simultaineously with 300 byte messages:
> Pre-patch:
> qpid-send=    77581 msg/sec
> qpid-receive= 77345 msg/sec
> Post-patch:
> qpid-send=    84931 msg/sec
> qpid-receive= 84789 msg/sec

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

        

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org


[jira] [Commented] (QPID-3841) Improve batching of writes for outbound messages.

Posted by "Andrew Stitcher (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/QPID-3841?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13208094#comment-13208094 ] 

Andrew Stitcher commented on QPID-3841:
---------------------------------------

This patch produces a larger improvement for 1k messages:
(on my laptop)
from 93k -> 115k msg/s (20-25%)
                
> Improve batching of writes for outbound messages.
> -------------------------------------------------
>
>                 Key: QPID-3841
>                 URL: https://issues.apache.org/jira/browse/QPID-3841
>             Project: Qpid
>          Issue Type: Improvement
>          Components: C++ Broker
>    Affects Versions: 0.15
>            Reporter: Ken Giusti
>            Assignee: Ken Giusti
>            Priority: Minor
>             Fix For: 0.15
>
>
> A patch created by Gordon Sim will allow the connection to batch up outbound messages, resulting in less calls to the socket's write method (as more data is passed with each write).
> This results in a small performance improvement.  For example, given a broker with a single queue (flow control disabled), qpid-send filling it and qpid-receive draining it simultaineously with 300 byte messages:
> Pre-patch:
> qpid-send=    77581 msg/sec
> qpid-receive= 77345 msg/sec
> Post-patch:
> qpid-send=    84931 msg/sec
> qpid-receive= 84789 msg/sec

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

        

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org


[jira] [Commented] (QPID-3841) Improve batching of writes for outbound messages.

Posted by "jiraposter@reviews.apache.org (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/QPID-3841?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13208042#comment-13208042 ] 

jiraposter@reviews.apache.org commented on QPID-3841:
-----------------------------------------------------


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/3897/#review5098
-----------------------------------------------------------

Ship it!


- Alan


On 2012-02-14 21:21:05, Kenneth Giusti wrote:
bq.  
bq.  -----------------------------------------------------------
bq.  This is an automatically generated e-mail. To reply, visit:
bq.  https://reviews.apache.org/r/3897/
bq.  -----------------------------------------------------------
bq.  
bq.  (Updated 2012-02-14 21:21:05)
bq.  
bq.  
bq.  Review request for qpid, Andrew Stitcher, Alan Conway, and Gordon Sim.
bq.  
bq.  
bq.  Summary
bq.  -------
bq.  
bq.  Patch provided by Gordon that improves the coalescing of outbound message buffers.
bq.  
bq.  
bq.  This addresses bug qpid-3841.
bq.      https://issues.apache.org/jira/browse/qpid-3841
bq.  
bq.  
bq.  Diffs
bq.  -----
bq.  
bq.    /trunk/qpid/cpp/src/qpid/amqp_0_10/Connection.cpp 1230550 
bq.  
bq.  Diff: https://reviews.apache.org/r/3897/diff
bq.  
bq.  
bq.  Testing
bq.  -------
bq.  
bq.  unit test pass, including cluster tests.
bq.  
bq.  
bq.  Thanks,
bq.  
bq.  Kenneth
bq.  
bq.


                
> Improve batching of writes for outbound messages.
> -------------------------------------------------
>
>                 Key: QPID-3841
>                 URL: https://issues.apache.org/jira/browse/QPID-3841
>             Project: Qpid
>          Issue Type: Improvement
>          Components: C++ Broker
>    Affects Versions: 0.15
>            Reporter: Ken Giusti
>            Assignee: Ken Giusti
>            Priority: Minor
>             Fix For: 0.15
>
>
> A patch created by Gordon Sim will allow the connection to batch up outbound messages, resulting in less calls to the socket's write method (as more data is passed with each write).
> This results in a small performance improvement.  For example, given a broker with a single queue (flow control disabled), qpid-send filling it and qpid-receive draining it simultaineously with 300 byte messages:
> Pre-patch:
> qpid-send=    77581 msg/sec
> qpid-receive= 77345 msg/sec
> Post-patch:
> qpid-send=    84931 msg/sec
> qpid-receive= 84789 msg/sec

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

        

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org


[jira] [Resolved] (QPID-3841) Improve batching of writes for outbound messages.

Posted by "Ken Giusti (Resolved) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-3841?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Ken Giusti resolved QPID-3841.
------------------------------

    Resolution: Fixed
    
> Improve batching of writes for outbound messages.
> -------------------------------------------------
>
>                 Key: QPID-3841
>                 URL: https://issues.apache.org/jira/browse/QPID-3841
>             Project: Qpid
>          Issue Type: Improvement
>          Components: C++ Broker
>    Affects Versions: 0.15
>            Reporter: Ken Giusti
>            Assignee: Ken Giusti
>            Priority: Minor
>             Fix For: 0.15
>
>
> A patch created by Gordon Sim will allow the connection to batch up outbound messages, resulting in less calls to the socket's write method (as more data is passed with each write).
> This results in a small performance improvement.  For example, given a broker with a single queue (flow control disabled), qpid-send filling it and qpid-receive draining it simultaineously with 300 byte messages:
> Pre-patch:
> qpid-send=    77581 msg/sec
> qpid-receive= 77345 msg/sec
> Post-patch:
> qpid-send=    84931 msg/sec
> qpid-receive= 84789 msg/sec

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

        

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org