Camel
  1. Camel
  2. CAMEL-5703

camel-netty - Pool Channels instead of producers to make producer singleton

    Details

    • Type: Improvement Improvement
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 2.10.0
    • Fix Version/s: 2.10.3, 2.11.0
    • Component/s: camel-netty
    • Labels:
      None
    • Estimated Complexity:
      Unknown

      Description

      We should favor using a light-weight pool for the channel on the producer, so it can be singleton which is the preferred for better scalability.

      And use commons-pool etc which has eviction logic built-in. Then channels which becomes idle can be evicted sooner.

      1. before-200.png
        129 kB
        Claus Ibsen
      2. before-100.png
        125 kB
        Claus Ibsen
      3. after-200.png
        120 kB
        Claus Ibsen
      4. after-100.png
        120 kB
        Claus Ibsen

        Activity

        Hide
        Claus Ibsen added a comment -

        before and after screenshots with 100 and 200 clients sending 250.000 messages in request/reply with camel-netty.

        With 200 clients the before causes problems by creating to frequent new threads and not cleaning up, which cause memory leak/growth on sustained load. Making high scalability an issue.

        Going to backport this to 2.10.x branch

        Show
        Claus Ibsen added a comment - before and after screenshots with 100 and 200 clients sending 250.000 messages in request/reply with camel-netty. With 200 clients the before causes problems by creating to frequent new threads and not cleaning up, which cause memory leak/growth on sustained load. Making high scalability an issue. Going to backport this to 2.10.x branch
        Hide
        Claus Ibsen added a comment -

        This change requires a dependency change on camel-netty as commons-pool is used now. This makes backporting harder.

        Show
        Claus Ibsen added a comment - This change requires a dependency change on camel-netty as commons-pool is used now. This makes backporting harder.

          People

          • Assignee:
            Claus Ibsen
            Reporter:
            Claus Ibsen
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development