Connection Pool Exhaustion ASP.NET Core
services.AddDbContext<AppDbContext>(options =>
options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection"),
sqlOptions =>
{
sqlOptions.MinPoolSize(10);
sqlOptions.MaxPoolSize(100);
sqlOptions.CommandTimeout(30);
sqlOptions.EnableRetryOnFailure(
maxRetryCount: 3,
maxRetryDelay: TimeSpan.FromSeconds(30),
errorNumbersToAdd: null);
// Additional connection resiliency
sqlOptions.ConnectRetryCount(5);
sqlOptions.ConnectRetryInterval(TimeSpan.FromSeconds(10));
sqlOptions.EnableRetryOnFailure();
}));
// Add health checks
services.AddHealthChecks()
.AddDbContextCheck<AppDbContext>();