diff --git a/MareSynchronosServer/MareSynchronosServer/Metrics/LockedProxyCounter.cs b/MareSynchronosServer/MareSynchronosServer/Metrics/LockedProxyCounter.cs index a7632a3..24dcbd7 100644 --- a/MareSynchronosServer/MareSynchronosServer/Metrics/LockedProxyCounter.cs +++ b/MareSynchronosServer/MareSynchronosServer/Metrics/LockedProxyCounter.cs @@ -13,10 +13,10 @@ namespace MareSynchronosServer.Metrics public void Inc(double inc = 1d) { - lock (_c) - { + //lock (_c) + //{ _c.Inc(inc); - } + //} } } } diff --git a/MareSynchronosServer/MareSynchronosServer/Metrics/LockedProxyGauge.cs b/MareSynchronosServer/MareSynchronosServer/Metrics/LockedProxyGauge.cs index 62b56a9..b62ff38 100644 --- a/MareSynchronosServer/MareSynchronosServer/Metrics/LockedProxyGauge.cs +++ b/MareSynchronosServer/MareSynchronosServer/Metrics/LockedProxyGauge.cs @@ -13,34 +13,34 @@ public class LockedProxyGauge public void Inc(double inc = 1d) { - lock (_g) - { + //lock (_g) + //{ _g.Inc(inc); - } + //} } public void IncTo(double incTo) { - lock (_g) - { + //lock (_g) + //{ _g.IncTo(incTo); - } + //} } public void Dec(double decBy = 1d) { - lock (_g) - { + //lock (_g) + //{ _g.Dec(decBy); - } + //} } public void Set(double setTo) { - lock (_g) - { + //lock (_g) + //{ _g.Set(setTo); - } + //} } public double Value => _g.Value; diff --git a/MareSynchronosServer/MareSynchronosServer/Program.cs b/MareSynchronosServer/MareSynchronosServer/Program.cs index 3cf2d65..264d8e4 100644 --- a/MareSynchronosServer/MareSynchronosServer/Program.cs +++ b/MareSynchronosServer/MareSynchronosServer/Program.cs @@ -23,7 +23,7 @@ namespace MareSynchronosServer using (var scope = host.Services.CreateScope()) { var services = scope.ServiceProvider; - var context = services.GetRequiredService(); + using var context = services.GetRequiredService(); context.Database.Migrate(); context.SaveChanges(); diff --git a/MareSynchronosServer/MareSynchronosServer/Startup.cs b/MareSynchronosServer/MareSynchronosServer/Startup.cs index 0840dce..74a2642 100644 --- a/MareSynchronosServer/MareSynchronosServer/Startup.cs +++ b/MareSynchronosServer/MareSynchronosServer/Startup.cs @@ -1,4 +1,3 @@ -using System; using MareSynchronos.API; using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Hosting; @@ -13,7 +12,6 @@ using Microsoft.AspNetCore.Authentication; using Microsoft.AspNetCore.Http.Connections; using Microsoft.AspNetCore.SignalR; using Prometheus; -using WebSocketOptions = Microsoft.AspNetCore.Builder.WebSocketOptions; using Microsoft.Extensions.FileProviders; using Microsoft.AspNetCore.Authorization; using MareSynchronosServer.Discord; @@ -48,13 +46,14 @@ namespace MareSynchronosServer services.AddSingleton(); services.AddTransient(_ => Configuration); - services.AddDbContext(options => + services.AddDbContextPool(options => { + options.EnableThreadSafetyChecks(false); options.UseNpgsql(Configuration.GetConnectionString("DefaultConnection"), builder => { builder.MigrationsHistoryTable("_efmigrationshistory", "public"); }).UseSnakeCaseNamingConvention(); - }); + }, Configuration.GetValue("DbContextPoolSize", 1024)); services.AddHostedService(); services.AddHostedService(provider => provider.GetService()); @@ -64,7 +63,7 @@ namespace MareSynchronosServer { options.DefaultScheme = SecretKeyAuthenticationHandler.AuthScheme; }) - .AddScheme(SecretKeyAuthenticationHandler.AuthScheme, options => {}); + .AddScheme(SecretKeyAuthenticationHandler.AuthScheme, options => { }); services.AddAuthorization(options => options.FallbackPolicy = new AuthorizationPolicyBuilder().RequireAuthenticatedUser().Build()); services.AddSingleton(); diff --git a/MareSynchronosServer/MareSynchronosServer/appsettings.json b/MareSynchronosServer/MareSynchronosServer/appsettings.json index 4079fb3..966a76f 100644 --- a/MareSynchronosServer/MareSynchronosServer/appsettings.json +++ b/MareSynchronosServer/MareSynchronosServer/appsettings.json @@ -23,6 +23,7 @@ ] } }, + "DbContextPoolSize": 2000, "CdnFullUrl": "https:///cache/", "FailedAuthForTempBan": 5, "TempBanDurationInMinutes": 30,