Uploaded image for project: 'Red Hat Internal Developer Platform'
  1. Red Hat Internal Developer Platform
  2. RHIDP-12385

Explore the need of extracting meaningful database information during and/or after performance tests runs

    • Icon: Epic Epic
    • Resolution: Unresolved
    • Icon: Normal Normal
    • None
    • None
    • Performance
    • None
    • Analyze performance results to drive fixes and architectural improvements
    • False
    • Hide

      None

      Show
      None
    • False
    • RHDHPLAN-842Update performance testing environment/dataset and investigate findings
    • To Do
    • RHDHPLAN-842 - Update performance testing environment/dataset and investigate findings
    • QE Needed, Docs Needed, TE Needed, Customer Facing, PX Needed

      EPIC Goal

      It might be helpful, for debug purposes, to have a good view of what the database workload is during high load test runs.

      pg_stat_statements
      This is an extension that tracks cumulative statistics for every query executed. In a load test, this is where you find your "heavy hitters."

      Identify Slow Queries: Sort by total_exec_time to see which queries consumed the most resources over the duration of the test. Reset the stats using select pg_stat_statements_reset(); right before you start your load test so the data reflects only the test period.

      pg_stat_activity
      This view shows you exactly what is happening right now. During a load test, you use this to catch "traffic jams" as they happen.

      Connection Tracking: Are you hitting your max_connections limit? You can see how many sessions are active vs. idle.

      Lock Contention: Look for wait_event_type = 'Lock'. If you see many sessions waiting on the same lock, you’ve found a concurrency bottleneck.

      Long-Running Transactions: Identify "idle in transaction" states. These are silent killers—they hold onto locks and prevent vacuuming, which can cause table bloat during long tests.

      Blocking Queries: You can write a query to join pg_stat_activity with itself to see exactly which Process ID (PID) is blocking another.

      Background/Feature Origin

      Why is this important?

      User Scenarios

      Dependencies (internal and external)

      Acceptance Criteria

      Release Enablement/Demo - Provide necessary release enablement details
      and documents

      DEV - Upstream code and tests merged: <link to meaningful PR or GitHub
      Issue>

      DEV - Upstream documentation merged: <link to meaningful PR or GitHub
      Issue>

      DEV - Downstream build attached to advisory: <link to errata>

      QE - Test plans in Playwright: <link or reference to playwright>

      QE - Automated tests merged: <link or reference to automated tests>

      DOC - Downstream documentation merged: <link to meaningful PR>

              Unassigned Unassigned
              rh-ee-abarbaro Alessandro Barbarossa
              RHDH Security
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated: