this is my first post here because I am a bit frustrated. I found no answer.
I have prepared website for sport bookings in Blazor Server-Side (.Net 5) and postgres DB. The site was deployed on VPS (2 cores, 4 GB, SSD, Windows Server 2016). I have several clients and the traffic is not big - Google Analytics shows up to max several users simultaneously. Recently traffic suddenly increased to around 100 users at the same time (by publication of one popular sport event) and then the page died. It stopped loading and responding to actions. It took about 20 minutes to start working because the traffic has decreased.
Then I migrated the site to .Net 6 (I read that it has quite a bit of optimization) and changed VPS to a stronger one (4 cores, 8 GB, SSD, Windows Server 2019) and the situation is exactly the same. The website begins to die with around 30 users simultaneously. No matter which page I am testing exactly, whether it is static content or dynamic content from the database - 30 users and website stop working.
I tried to test the website with online tools like BlazeMeter based on Jmeter. The test for 50 users throw following error:
Non HTTP response code: java.net.SocketTimeoutException Non HTTP
response message: Read timed out 765
Microsoft describes (https://docs.microsoft.com/en-us/aspnet/core/blazor/host-and-deploy/server?view=aspnetcore-6.0) that 5000 concurrent users should be handled by webserver with 1,3GB memory, so in my case this is probably not by server resources.
Static pages don't query SQL, so it's not a database issue.
After some suggestion I enabled WebSocket on IIS and application pipeline, but it did not help.
I am not a professional programmer and I do not know where to look for reasons. Thank you in advance for the suggestion where to look for the solution.