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

GC in query engine causes 30-40% drop in throughput and CPU utilization

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Major
    • 5.0.0
    • 4.5.0, 4.5.1, 4.6.0, 5.0.0
    • query
    • Untriaged
    • Centos 64-bit
    • No

    Description

      Although this issue is rather obvious and well-known, we still don't have a clear baseline and an explicit goal.

      Scenario: Q2, not_bounded, MOI.

      According to ShowFast, Q2 throughput is 24-25K and CPU utilization is 65-70%. That definitely looks sub-optimal.

      I ran a silly experiment with the following settings:

      systemctl set-environment GOGC=10000
      

      RSS and GC pauses increase to absolutely impractical values. However, throughput periodically increases up to 40-42K and CPU utilization increases up to 100%.

      Note, I ran a whole bunch of other experiments (pretty=false, metrics=false, GOMAXPROCS=2 x numCPU, diff. service deployments, Go 1.6, Go 1.7). Nothing helps to improve overall throughput and CPU utilization.

      Also both pprof and perf indicate significant issues with GC.

      I think we should shoot for 40K queries/sec and 90% CPU utilization.

      Attachments

        Issue Links

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

          Activity

            People

              keshav Keshav Murthy
              pavelpaulau Pavel Paulau (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes

                  PagerDuty