Uploaded image for project: 'Qpid Proton'
  1. Qpid Proton
  2. PROTON-1550

Epoll proactor performance improvement

    XMLWordPrintableJSON

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Major
    • Resolution: Not A Problem
    • Affects Version/s: None
    • Fix Version/s: proton-c-0.19.0
    • Component/s: proton-c
    • Labels:
    • Environment:
      Linux

      Description

      While stress testing and evaluating performance of the epoll proactor there have been indications that as the number of connections increase, the throughput increases more slowly than overall cpu use.

      Instrumenting and profiling suggest that, at least for applications like qpid-dispatch, there can be a large number of simultaneous pending pn_connection_wake() requests for thread-safe handoff of messages from one connection context to another.

      As the number of connections rise, the use of adaptive spin locks for this purpose is suspected to be an inefficient strategy, perhaps resulting in a lock convoy. A trial use of one or more lockless queues could yield substantial performance gain or at least better understanding of current hot spots.

        Attachments

          Activity

            People

            • Assignee:
              cliffjansen Clifford Jansen
              Reporter:
              cliffjansen Clifford Jansen
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: