Uploaded image for project: 'Couchbase Server'
  1. Couchbase Server
  2. MB-55086

Increase default number of NonIO threads

    XMLWordPrintable

Details

    • 0
    • KV 2023-2

    Description

      Recent performance analysis of SyncWrite-heavy workloads has shown that the default number of NonIO threads can be insufficient to fully utilise the machine - particularly if the CPU core count is relatively low (e.g. 8 cores).

      Currently we size the NonIO thread pool based on a CPU coefficient of 0.3 :-

      nonio_thread_count = 0.3 * number_of_cpu_cores
      

      For an 8 core machine this gives a value of 2.4 which is rounded to 2.

      Note that the current coefficient of 0.3 was set prior to SyncWrites, where NonIO tasks were not needed to perform front-end operations.

      Empirical testing has shown that increasing this to 4 NonIO threads on an 8 core system (i.e. coefficient of 0.5) makes better use of the overall machine resources, and doesn't seem to negatively impact other running threads.

      Attachments

        Issue Links

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

          Activity

            People

              drigby Dave Rigby (Inactive)
              drigby Dave Rigby (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                PagerDuty