นี่เป็นกระทู้แรกของฉันที่นี่เพราะฉันรู้สึกผิดหวังเล็กน้อย ฉันไม่พบคำตอบ
ฉันได้เตรียมเว็บไซต์สำหรับการจองกีฬาใน Blazor Server-Side (.Net 5) และ postgres DB ไซต์ถูกปรับใช้บน VPS (2 คอร์, 4 GB, SSD, Windows Server 2016) ฉันมีลูกค้าหลายรายและปริมาณการใช้ข้อมูลไม่มากนัก Google Analytics แสดงผู้ใช้พร้อมกันได้สูงสุดหลายคน เมื่อเร็ว ๆ นี้ปริมาณการเข้าชมเพิ่มขึ้นเป็นประมาณ 100 ผู้ใช้ในเวลาเดียวกัน (โดยการเผยแพร่การแข่งขันกีฬายอดนิยมรายการหนึ่ง) และจากนั้นเพจก็หายไป มันหยุดโหลดและตอบสนองต่อการกระทำ ใช้เวลาประมาณ 20 นาทีจึงเริ่มใช้งานได้เนื่องจากการจราจรลดลง
จากนั้นฉันย้ายไซต์เป็น .Net 6 (ฉันอ่านเจอว่ามันมีการเพิ่มประสิทธิภาพค่อนข้างน้อย) และเปลี่ยน VPS เป็นอันที่แรงกว่า (4 คอร์, 8 GB, SSD, Windows Server 2019) และสถานการณ์ก็เหมือนเดิมทุกประการ เว็บไซต์เริ่มตายด้วยผู้ใช้ประมาณ 30 คนพร้อมกันไม่ว่าฉันจะทดสอบหน้าใด ไม่ว่าจะเป็นเนื้อหาแบบสแตติกหรือไดนามิกจากฐานข้อมูล - ผู้ใช้ 30 คน และเว็บไซต์หยุดทำงาน
ฉันพยายามทดสอบเว็บไซต์ด้วยเครื่องมือออนไลน์เช่น BlazeMeter ที่ใช้ Jmeter การทดสอบสำหรับผู้ใช้ 50 รายแสดงข้อผิดพลาดต่อไปนี้:
รหัสตอบกลับที่ไม่ใช่ HTTP: java.net.SocketTimeoutException ไม่ใช่ HTTP
ข้อความตอบกลับ: หมดเวลาอ่าน 765
Microsoft อธิบาย (https://docs.microsoft.com/en-us/aspnet/core/blazor/host-and-deploy/server?view=aspnetcore-6.0) นั่น ผู้ใช้พร้อมกัน 5,000 คน ควรจัดการโดยเว็บเซิร์ฟเวอร์ที่มีหน่วยความจำ 1,3GB ดังนั้นในกรณีของฉันอาจไม่ใช่ทรัพยากรเซิร์ฟเวอร์
หน้าสแตติกไม่สอบถาม SQL ดังนั้นจึงไม่ใช่ปัญหาของฐานข้อมูล
หลังจากคำแนะนำบางอย่าง ฉันเปิดใช้งาน WebSocket บน IIS และไปป์ไลน์แอปพลิเคชัน แต่ก็ไม่ได้ช่วยอะไร
ฉันไม่ใช่โปรแกรมเมอร์มืออาชีพและไม่รู้ว่าจะหาเหตุผลได้จากที่ใด ขอบคุณล่วงหน้าสำหรับคำแนะนำว่าจะหาทางออกได้ที่ไหน