Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-19312

Threadpool : make thread injection rate depend on thread_pool_stall_limit/thread_pool_oversubscribe

    XMLWordPrintable

    Details

    • Type: Task
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Fixed
    • Fix Version/s: 10.5.0
    • Component/s: Server
    • Labels:
      None

      Description

      The throttling interval (interval between new thread creations) in the generic threadpool code is determined by the microseconds_throttling_interval() function, which currently depends solely on the current number of threads in a group.

      Sometimes, there is a need to tweak this rate, usually to make thread creation more frequent in case of stalls.

      The task is to make throttling interval dependent on stall_limit, and perhaps on oversubscribe.
      Conservatively, we can leave the current algorithm in place for the stall intervals that are larger or equal to the default limit (0.5 sec), and only adjust the throttling interval for smaller threadpool_stall_limit values.

      Also, no throttling should be in place if number of threads in a group is less then 1+thread_pool_oversubscribe value.

        Attachments

          Activity

            People

            Assignee:
            wlad Vladislav Vaintroub
            Reporter:
            wlad Vladislav Vaintroub
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved: