đây là bài viết đầu tiên của tôi ở đây bởi vì tôi có một chút thất vọng. Tôi không tìm thấy câu trả lời.
Tôi đã chuẩn bị trang web để đặt chỗ thể thao ở Blazor Server-Side (.Net 5) và postgres DB. Trang được triển khai trên VPS (2 nhân, 4 GB, SSD, Windows Server 2016). Tôi có một số khách hàng và lưu lượng truy cập không lớn - Google Analytics hiển thị đồng thời tối đa nhiều người dùng. Gần đây, lưu lượng truy cập đột ngột tăng lên khoảng 100 người dùng cùng một lúc (do xuất bản một sự kiện thể thao nổi tiếng) và sau đó trang này đã chết. Nó đã ngừng tải và phản hồi các hành động. Mất khoảng 20 phút để bắt đầu làm việc vì lưu lượng truy cập đã giảm.
Sau đó, tôi đã chuyển trang web sang .Net 6 (tôi đọc rằng nó có khá nhiều tối ưu hóa) và thay đổi VPS thành một cái mạnh hơn (4 lõi, 8 GB, SSD, Windows Server 2019) và tình hình vẫn y như vậy. Trang web bắt đầu chết với khoảng 30 người dùng đồng thời.Bất kể tôi đang kiểm tra chính xác trang nào, cho dù đó là nội dung tĩnh hay nội dung động từ cơ sở dữ liệu - 30 người dùng và trang web ngừng hoạt động.
Tôi đã thử kiểm tra trang web bằng các công cụ trực tuyến như BlazeMeter dựa trên Jmeter. Thử nghiệm cho 50 người dùng đưa ra lỗi sau:
Mã phản hồi không phải HTTP: java.net.SocketTimeoutException Không phải HTTP
thông báo phản hồi: Hết thời gian đọc 765
Microsoft mô tả (https://docs.microsoft.com/en-us/aspnet/core/blazor/host-and-deploy/server?view=aspnetcore-6.0) điều đó 5000 người dùng đồng thời nên được xử lý bởi máy chủ web có bộ nhớ 1,3 GB, vì vậy trong trường hợp của tôi, điều này có thể không phải do tài nguyên máy chủ.
Các trang tĩnh không truy vấn SQL, vì vậy đây không phải là vấn đề về cơ sở dữ liệu.
Sau một số gợi ý, tôi đã bật WebSocket trên IIS và đường dẫn ứng dụng nhưng không được.
Tôi không phải là một lập trình viên chuyên nghiệp và tôi không biết tìm lý do ở đâu. Cảm ơn bạn trước về gợi ý tìm giải pháp ở đâu.