2013-05-20 4 views
3

SQL Azure 데이터베이스에서 설정할 수있는 동시 연결 수에 제한이 있습니다. 이것은 내가 직면하고있는 상황입니다. 저는 많은 사용자가 연결하고 데이터베이스가 SQL Azure로 만들어지는 Windows 서버 2008 R2 가상 컴퓨터에서 호스팅되는 웹 사이트를 가지고 있습니다. 너무 많은 동시 연결이있을 경우 올바른 사용자 이름을 가진 추가 연결과 웹 사이트의 암호가 로그인에 실패 함을 의미하는 연결 손실이 있음을 확인했습니다. 최소한 40 분 이상 웹 사이트에 로그인 할 수있는 사용자는 없으며 동일한 사용자 이름과 암호를 사용하여 사용자를 웹 사이트에 성공적으로 로그인 할 수 있습니다.동시 연결 후 SQL Azure 연결 문제

이 제한 문제 또는 여러 사용자가 로그인하여 여러 시간 소모적 인 활동을 수행 할 때 실제로 발생하는 문제입니다. 이 문제를 해결하기 위해 수행 할 수있는 조치는 무엇입니까? 여러 사용자가이 오류를 일으키는 세션을 엽니 다. 제발 내가 정확한 상황과 그러한 상황을 피하기 위해 취해야 할 단계를 알려주십시오.

답변

5

데이터베이스에는 하드 연결이 180 개 제한되어 있습니다. 예를 들어이 제한에 도달하기 시작할 때 다시 시도 프레임 워크가있는 경우 SQL Azure에 대한 연결을 더 많이 만들려고 시도 할 때 상황이 악화되는 것을 보게되며 문제가 커집니다.

이 같은 오류를 확인하기 시작합니다 :

예외 유형 : System.Data.SqlClient.SqlException 자원 ID를 : 1. 데이터베이스에 대한 요청 제한은 180이며 도달했습니다. 도움이 필요하면 'http://go.microsoft.com/fwlink/?LinkId=267637'을 참조하십시오.

http://social.technet.microsoft.com/wiki/contents/articles/1541.windows-azure-sql-database-connection-management.aspx#Throttling_Limits

이에 대한 빠른 수정을 시도하고 물건의 캐시를 많이하고 앞에 계산을 많이 한 경우 연결 문자열에 최대 풀 제한을 사용하려고 할이다.

Caching in Azure

이 문제를 해결하는 다른 방법은 당신이 캐시를 통해 연결 제한을 낮출 수없는 경우 데이터베이스를 샤딩하는 것입니다 (하지만 당신이하지 않는 것 같은데), 그리고이 사용자 지정 프로세스를 수행하는 것이 좋습니다 것입니다 더 많은 제어를 위해 연합을 사용하는 것이 아닙니다.

당신은 연결 누출이없고 무슨 일이 일어나고 있는지 알기 위해서 this resource을 볼 것입니다.

hths,

제임스

+0

우리는 또한 하나 개의 가상 머신이 푸른이 연결 손실이 발생하는 경우가 정류됩니다 안녕하세요 따님은 SQL 푸른 데이터베이스에 연결 다른 가상 머신도 연결에 직면하게 될 것이다 관찰 그 자체는 약 30-40 분 후에. 어떻게 될까요? – kavitha

+0

우리는 2 개의 VM에 하나의 RAM이 있고 다른 하나는 4 GB의 RAM을 가지고 있습니다. 테스트로 JMeter를 사용하여 스트레스 테스팅을위한 샘플을 실행했으며이 오류가 발생했을 때 웹 사이트가 연결되어있는 응용 프로그램 풀을 재생하려고했습니다. 모든 것이 즉시 해결되었습니다. 애플리케이션 풀과 관련이 있습니다. IIS 7의 설정을 놓친 적이 있습니까? – kavitha

+0

@kavitha는 시스템에로드를 배치 할 때 모니터 연결을 살펴보고 이것이 문제의 지점인지 확인한 다음 거기에서부터 뒤로 진행합니다. 어쩌면이 과정을 감속시키는 원인이있을 수 있습니다. 응용 프로그램 풀을 재부팅하면 재시도를 포함하여 모든 연결이 정리되어 데이터베이스에 대한 부하가 상당히 줄어들 것으로 예상됩니다. – JamesKn