나는 최근에 출시 한 화이트 레이블 (동일한 사이트의 여러 버전) 사이트를 가지고 있습니다. 아직 많은 트래픽이 발생하지 않지만 주로 봇이지만 하루에 약 800 명의 사용자가 있습니다. Azure에 호스팅 된 관리 패널 이외에 Azure 데이터베이스가 있습니다. 두 사이트 모두 동일한 Azure 데이터베이스에 연결됩니다. 또한 데이터를 처리하기 위해 실행중인 일부 작업자 역할 - 99 %는 아무것도하지 않지만 정기적으로 확인합니다.Azure SQL 데이터베이스 연결 문제 - 연결이 너무 많습니까?
나는 항상 같은 몇 초가 지난 다음 다시 괜찮아 무작위 오류, 경험이 아침
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.)
을하지만, 우리는 더 심각한 문제가 있었다. 이것은 (구글, 바이두, AhrefsBot & Wiseguys.nl)이 사이트 색인을 생성 봇 동안 발생
System.ComponentModel.Win32Exception: An existing connection was forcibly closed by the remote host
:로 시작했다. 나는 이것들에서 하나 이상의 오류가있다. 그렇다면 :
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.
이것은 ExecuteReader 단계에서 발생했습니다.
10 분 후에 실질적인 문제가 발생했습니다. 아무도 관리자 인터페이스에 로그인 할 수 없지만 Azure가 호스팅 한 웹 사이트는 봇이 여전히 오류를 발생 시켰지만 테스트했을 때 괜찮아 보였습니다. 문제는이었다
System.ComponentModel.Win32Exception: The wait operation timed out
이 약 한 시간 동안 임의의 연결 작업과 오프 계속했다. 그럼 난 또 다른 문제 타격이 마지막 시간 동안 ON과 OFF 발생
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.
을 - 주로 작업자 역할. 그때 나는 이러한 요청을 모두 차지 있었는지 알아 시도하고 나는이 명령을 발견 : 나는 그것을 통해 실행되었을 때 그것은 단지 1 개 또는 2 요청을 반환
SELECT * FROM sys.dm_exec_requests
합니다.
내 질문은 다음과 같습니다. 1) 다른 어느 누구도 Azure에서 호스팅되는 서버와의 임시 연결이 비교적 규칙적입니까? 2) 위의 이벤트 목록에 특정 문제가 있습니까? 이것은 많은 관리자가 동시에 로그인 할 때 모두 발생할 수 있습니다. 3) 180 제한 메시지를 받았을 때 데이터베이스에 대한 요청 수를 어떻게 디버그하는 것이 좋습니까?
미리 감사드립니다.