IIS에 배포 된 웹 응용 프로그램이 있습니다. 시간 초과 오류가 발생하고 있으며 SQL 연결을 제대로 처리하지 못하는 코드로 문제를 추적했다고 생각합니다.풀에서 SQL 연결 시간 초과가 발생할 수 있습니까?
수정하기에 많은 수술이 필요하므로 적어도 using
블록을 사용하여 새 코드를 구현하고 테스트 할 때까지 연결 풀 크기를 천문학적 인 것으로 높이기로 결정했습니다. 하지만 그건 도움이되지 않은 것 같습니다. 내 연결 문자열은 다음과 같습니다
데이터 원본 = MyServer를; 초기 카탈로그 = MYDB; 사용자 ID = 참고 MyUser, 암호 = MyPwd; 최대 풀 크기 =
10000 그리고 내 로그 파일을 보여줍니다
System.InvalidOperationException : 시간 종료가 만료되었습니다. 풀에서 연결을 가져 오기 전에 시간 초과 기간이 경과했습니다. 이는 풀링 된 모든 연결이 사용 중이며 최대 풀 크기에 도달했기 때문에 발생했을 수 있습니다.
저는이 기간 동안 성능 모니터를 열어 놓았으며 사용자 연결 수는 약 150 명을 넘었습니다. 그래서 우리는 연결이 끊어 질 수 있다고 생각하지 않습니다.
이 오류의 원인은 무엇입니까?
아마도 _server_ 측면에서 연결을 최대한으로 늘릴 수 있습니다. 연결이 닫혀 있는지 확인하고 가능한 한 자주 열어 두어야합니다. – Oded
@Oded - SQL 서버가 최대 32,768 개의 연결을 지원할 수 있다고 생각했습니다. 아니면 내가 꿈꿔 왔니? –
AFAIK (서버 및 데이터베이스)를 구성하는 경우 – Oded