Skip to content

High Wait Time and CPU Usage with Oracle.ManagedDataAccess in High-Concurrency .NET 8 Environment #455

Open
@FabioDantasBmg

Description

@FabioDantasBmg

Description:
We are experiencing high wait times and CPU usage in our .NET 8 application using Oracle.ManagedDataAccess (ODP.NET Managed Driver) under high concurrency. The issue is most evident in Kubernetes environments with many pods and a high minimum pool size.

Environment:

  • .NET 8
  • Oracle.ManagedDataAccess (please specify exact version)
  • Connection string:
    User Id=###;Password=###;Data Source=###;VALIDATE CONNECTION=True;Persist Security Info=True;Max Pool Size=100;Connection Lifetime=120;Min Pool Size=30;CONNECTION TIMEOUT=60;POOLING=True;
  • 20+ pods (Kubernetes), each with its own pool
  • ~2,500 requests/minute

Symptoms:

  • Endpoints spend most of their time waiting for Oracle operations, not on SQL execution itself (confirmed by Dynatrace traces).
  • SQL queries are fast when run directly on the database.
  • High CPU usage in some pods, resolved only by restarting the pod.
  • No apparent locks or slowdowns in the Oracle database itself.

What we have tried:

  • Increased Connection Lifetime to 600s (testing).
  • Monitored pool usage and resource consumption.
  • Ensured queries are optimized.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions