Uploaded image for project: 'Qpid'
  1. Qpid
  2. QPID-3610

set TCP_NODELAY true by default in the Java client to improve general performance

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 0.12
    • 0.14
    • JMS AMQP 0-x
    • None

    Description

      set TCP_NODELAY true by default in the Java client to improve general performance.

      TCP_NODELAY is currently set false by default. This leads to synchronous commands such as ExecutionSync or TxCommit taking a potentially very long amount of time (~30-40ms observed), which cripples transactional performance, causes consumer creation to take a long time, and generally impedes performance of messaging patterns such as request-response.

      Whilst this change could perhaps cause some falloff in out-the-box peak throughput in situations such as NoAck mode, the observed performance increases in a variety of other situations such as the above is too large (anything from 10% to 1000%, yes 10x throughput, has been observed in select tests) to ignore for our general out-the-box configuration. Users interested in the ultimate throughput will be the ones most likely to tune for it, so we should set default configuration to cater for those who arent/dont.

      Attachments

        Activity

          People

            robbie Robbie Gemmell
            robbie Robbie Gemmell
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: