From 81ff8d2ae326424481a8788e07fed2efe52b4941 Mon Sep 17 00:00:00 2001 From: Ricardo Carneiro Date: Mon, 25 Aug 2025 21:32:28 -0300 Subject: [PATCH] fix: mogo pool e limits --- Data/MongoDbContext.cs | 1 + Program.cs | 11 ++++++++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/Data/MongoDbContext.cs b/Data/MongoDbContext.cs index e4c7d70..79539b8 100644 --- a/Data/MongoDbContext.cs +++ b/Data/MongoDbContext.cs @@ -11,6 +11,7 @@ namespace QRRapidoApp.Data public MongoDbContext(IConfiguration configuration, IMongoClient? mongoClient = null) { var connectionString = configuration.GetConnectionString("MongoDB"); + connectionString = connectionString + (connectionString.Contains("?") ? "&" : "?") + "maxPoolSize=200&minPoolSize=50&maxIdleTimeMS=30000"; if (mongoClient != null && !string.IsNullOrEmpty(connectionString)) { try diff --git a/Program.cs b/Program.cs index 85d5942..eaa56a2 100644 --- a/Program.cs +++ b/Program.cs @@ -23,6 +23,7 @@ using Microsoft.AspNetCore.HttpOverrides; using Microsoft.AspNetCore.DataProtection; using Microsoft.AspNetCore.RateLimiting; using System.Threading.RateLimiting; +using Microsoft.AspNetCore.Server.Kestrel.Core; var builder = WebApplication.CreateBuilder(args); @@ -219,15 +220,19 @@ builder.Services.AddRateLimiter(options => options.RejectionStatusCode = 429; options.AddFixedWindowLimiter("api", options => { - options.PermitLimit = 600; // 10 req/s = 600 req/min + options.PermitLimit = 600; options.Window = TimeSpan.FromMinutes(1); - //options.PermitLimit = 100; - //options.Window = TimeSpan.FromMinutes(1); options.QueueProcessingOrder = QueueProcessingOrder.OldestFirst; options.QueueLimit = 10; }); }); +builder.Services.Configure(options => +{ + options.Limits.MaxConcurrentConnections = 2000; + options.Limits.RequestHeadersTimeout = TimeSpan.FromSeconds(30); +}); + var app = builder.Build(); app.UseRateLimiter();