Tôi có trang web là nhãn màu trắng (Nhiều phiên bản của cùng một trang web) mà tôi đã khởi chạy gần đây. Chưa có lưu lượng truy cập lớn - chủ yếu là bot nhưng có thể 800 người dùng mỗi ngày. Nó được lưu trữ trên Azure với một cơ sở dữ liệu Azure, thêm vào một bảng quản trị nằm trên một máy chủ không phải là Azure. Cả hai trang web kết nối với cùng một cơ sở dữ liệu Azure. Ngoài ra còn có một số vai trò công nhân đang chạy để xử lý dữ liệu - 99% thời gian họ không làm bất kỳ điều gì, nhưng họ thường xuyên kiểm tra.Sự cố kết nối cơ sở dữ liệu SQL Azure - Quá nhiều kết nối?
Tôi đã luôn gặp phải những sai sót ngẫu nhiên mà kéo dài một vài giây và sau đó nó là ok một lần nữa, chẳng hạn như:
A transport-level error has occurred when receiving results from the server. (provider: TCP Provider, error: 0 - An existing connection was forcibly closed by the remote host.)
Sáng nay, tuy nhiên, chúng tôi đã có một vấn đề nghiêm trọng hơn. Nó bắt đầu với:
System.ComponentModel.Win32Exception: An existing connection was forcibly closed by the remote host
Điều này xảy ra trong khi chương trình (Google, Baidu, AhrefsBot & Wiseguys.nl) được lập chỉ mục trang web. Tôi có một hoặc nhiều lỗi từ những lỗi này. Sau đó, tôi nhận được:
System.Data.SqlClient.SqlException: The service has encountered an error processing your request. Please try again. Error code 40143. A severe error occurred on the current command. The results, if any, should be discarded.
Đây là trong giai đoạn ExecuteReader.
10 phút sau đó, sự cố thực sự xảy ra - điều đó có nghĩa là không ai có thể đăng nhập vào giao diện quản trị, nhưng trang web lưu trữ Azure xuất hiện ok khi tôi kiểm tra mặc dù rô bốt vẫn đưa ra lỗi. Vấn đề là:
System.ComponentModel.Win32Exception: The wait operation timed out
Điều này tiếp tục với các kết nối ngẫu nhiên trong và ngoài khoảng một giờ. Sau đó, tôi gặp phải sự cố khác:
System.Data.SqlClient.SqlException: Resource ID : 1. The request limit for the database is 180 and has been reached. See ' http://go.microsoft.com/fwlink/?LinkId=267637 ' for assistance.
Điều này xảy ra trong và ngoài giờ trước - chủ yếu là cho vai trò của nhân viên. Sau đó tôi đã cố gắng tìm hiểu những gì đã chiếm tất cả các yêu cầu này và tôi đã tìm thấy lệnh này:
SELECT * FROM sys.dm_exec_requests
Nó chỉ trả lại 1 hoặc 2 yêu cầu khi tôi chạy nó liên tục.
Vì vậy, câu hỏi của tôi là: 1) Có ai khác trải nghiệm tương đối thường xuyên (một lần, có thể hai lần một ngày) tạm thời ngắt kết nối khỏi máy chủ được lưu trữ trên Azure không? 2) Danh sách các sự kiện ở trên có cho biết một vấn đề cụ thể không? Điều này có thể xảy ra khi nhiều quản trị viên đăng nhập cùng một lúc. 3) Làm cách nào để tôi có thể gỡ lỗi tốt hơn số lượng yêu cầu vào cơ sở dữ liệu khi tôi nhận được thông báo giới hạn 180?
Xin cảm ơn trước.