Open
Description
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
Labels
No labels