Uploaded image for project: 'Couchbase .NET client library'
  1. Couchbase .NET client library
  2. NCBC-3165

Pathfinding: Improve performance when ThreadPool limits are reached

    XMLWordPrintable

Details

    • Improvement
    • Resolution: Fixed
    • Critical
    • None
    • None
    • None
    • None

    Description

      It is expected that performance may be affected under extreme load, but it should degrade as gracefully as possible.  

      The current implementation of the DataFlowConnectionPool and ChannelConnectionPool use ThreadPool threads to do their parallelism.

      When users of the SDK max out their own ThreadPool usage, the performance of the SDK drops, operations stall waiting to be executed, and this becomes a continuing situation until load drops to nothing and the queue clears.  The connection pools may not be the only area where we are reliant on the ThreadPool.  With async/await, we should be able to avoid the ThreadPool for the critical path.

      Attachments

        Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

              richard.ponton Richard Ponton
              richard.ponton Richard Ponton
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes

                  PagerDuty