2013-05-09 3 views
2

우리는 Facebook에서 SQL Azure를 사용하는 새로운 게임을 출시했으며 간헐적 인 연결 시간 초과가 발생했습니다.SQL 연결 문제 ... 다음 단계

나는 이것을 이전에 처리하고 일시적인 연결 문제를 다루는 것처럼 보인 '재시도'솔루션을 구현했습니다.

그러나 이제 게임이 종료되었으므로 다시 볼 수 있습니다. 자주는 아니지만 일어난 일입니다. 그런 일이 발생하면 SQL Azure 관리 웹 포털에 로그인하고 거기에 연결 시간 제한을 설정합니다. SSMS 시도와 동일합니다.

쿼리 자체가 게임의 첫 번째 항목이며 4 개의 레코드가있는 테이블에서 간단한 선택입니다.

약 4 분 후에 제한 시간이 중지되고 모든 것이 하루 또는 이틀 동안 좋습니다.

이들은 전 세계의 플레이어이므로 사용자와 직접 연락하지 않습니다.

나는 어떻게되는지 알아낼 수있는 조언을 찾고 있습니다.

감사합니다, 팀 참고

: 당신이 당신의 데이터베이스의 앞에 얼마나 많은 컴퓨팅 내가 연결 문자열로 생성 할 수있는 연결 풀에 한계에 넣어 것에 따라

+0

그것은 푸른와의 연결 문제입니다. 지원 채널을 사용해야합니다. –

+1

Azure에서 "아니오"활동을하는 것처럼 나에게 들리며 그로 인해 당신은 제한되고 있습니다. 오픈 커넥션이 너무 많고 오래 실행되는 트랜잭션이 너무 많고 다른 이유로 인해 발생할 수 있습니다.나는 이러한 모든 이유가 무엇인지 확신 할 수 없으므로 이런 종류의 연구를해야합니다. 일반적으로 응용 프로그램이나 아키텍처에서 버그 또는 잘못된 설계 결정으로 인해 발생합니다. – Jaxidian

답변

3

http://apps.facebook.com/RelicBall/.

예를 들어 2를 데이터베이스 앞에서 계산하는 경우 설정을 시도합니다.

최대 풀 크기 = 70;

SQL 데이터베이스는 180 개의 연결 만 처리 할 수 ​​있습니다. 이는 엄격한 제한 사항입니다. 예를 들어 연결 제한을 누를 때 다시 시도 프레임 워크가 문제를 악화시키는 경우를 발견 할 수 있습니다. 시간이 더 걸리면 연결이 끊어지면서 더 많은 중단 시간이 발생합니다. 이것은 컴퓨팅 재시도 프레임 워크가 포기함에 따라 몇 분이 걸리는 이유 일 수 있습니다.

http://msdn.microsoft.com/en-us/library/windowsazure/ff394114.aspx

다음과 함께 찾아 보게한다 : 당신은 응용 프로그램 디자인에 캐시를 추가하려고한다

 
-- monitor connections 
SELECT 
     e.connection_id, 
     s.session_id, 
     s.login_name, 
     s.last_request_end_time, 
     s.cpu_time 
FROM 
     sys.dm_exec_sessions s 
     INNER JOIN sys.dm_exec_connections e 
     ON s.session_id = e.session_id 
GO 

를이 크게 데이터베이스에 머리 당신이 응용 프로그램을 줄이고 연습을하는 것이 좋습니다 것입니다 수 있습니다 SQL Azure. 특히 연결 문제가있을 수 있습니다. 이전에 이런 유형의 문제를 보았습니다. 연결 제한 때문에 문제의 원인을 확인하기 위해 해당 방향으로 약간의 시간을 조사해볼 가치가 있습니다. 그렇지 않으면 나는 MS 지원 티켓을 열 것입니다.

th, Goodluck.

편집 : 프리미엄 데이터베이스는 분명히이 문제와 잠재적으로 장기적인 문제에 대한 신속한 해결로 조사 가치가있는 연결에 대한 제한을 제기합니다.

http://blogs.technet.com/b/dataplatforminsider/archive/2013/07/23/premium-preview-for-windows-azure-sql-database-now-live.aspx