Uploaded image for project: 'OpenShift Pipelines'
  1. OpenShift Pipelines
  2. SRVKP-4357

tekton results needs to expose various peformance tuning options

    XMLWordPrintable

Details

    • 5
    • False
    • None
    • False
    • Hide
      Several performance related tuning options are now available for both the results watcher and api deployments.

      For the api server, via the config.env, you set

          DB_MAX_IDLE_CONNECTIONS: The number of idle database connections to keep open
          DB_MAX_OPEN_CONNECTIONS: The maximum number of database connections, for best performance it should equal
          GRPC_WORKER_POOL: The maximum number of goroutines pre-allocated for process GRPC requests. The GRPC server will also dynamically create threads.
          K8S_QPS: The QPS setting for the kubernetes client created.
          K8S_BURST: The burst setting for the kubernetes client created.

      For the watcher, there are 2 new command line arguments for the watcher container:
          qps: The QPS setting for the kubernetes client created.
          burst: The burst setting for the kubernetes client created.
      Show
      Several performance related tuning options are now available for both the results watcher and api deployments. For the api server, via the config.env, you set     DB_MAX_IDLE_CONNECTIONS: The number of idle database connections to keep open     DB_MAX_OPEN_CONNECTIONS: The maximum number of database connections, for best performance it should equal     GRPC_WORKER_POOL: The maximum number of goroutines pre-allocated for process GRPC requests. The GRPC server will also dynamically create threads.     K8S_QPS: The QPS setting for the kubernetes client created.     K8S_BURST: The burst setting for the kubernetes client created. For the watcher, there are 2 new command line arguments for the watcher container:     qps: The QPS setting for the kubernetes client created.     burst: The burst setting for the kubernetes client created.
    • Pipelines Sprint Pioneers 1, Pipelines Sprint Pioneers 2, Pipelines Sprint Pioneers 3

    Description

      Description of problem:

      Current cannot control

      • database connection pooling in the api server
      • k8s client qps and burst in the api server
      • grpc worker thread pool count in the api server
      • k8s client qps and burst in the watcher

      Prerequisites (if any, like setup, operators/versions):

      Steps to Reproduce

       # <steps>

       

      Actual results:

      Expected results:

      Reproducibility (Always/Intermittent/Only Once):

      Acceptance criteria: 

       

      Definition of Done:

      Build Details:

      Additional info (Such as Logs, Screenshots, etc):

      The need for this came up during the March 2024 Tekton Results outage and post mortem into order of magnitude dips in peformance when compared to direct database connections, or in the case of comparint with other tekton controllers, bottlenecks in k8s api activity.

       *

      Attachments

        Activity

          People

            gmontero@redhat.com Gabe Montero
            gmontero@redhat.com Gabe Montero
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated: