2015-01-06 2 views
3

지난 한 달 동안 데이터베이스에 문제가 발생했습니다. (11 월에 괜찮 았습니다). (S0 표준 계층 - 심지어 가장 낮은 계층.) - 5Sql Azure - 최대 DTU '빈 테이블'을 쿼리하는 백분율

Select 문 내 데이터베이스 (심지어 시간 초과) 스로틀 일으키는 업데이트에서 수정되었습니다. 하려면 필자, 내 데이터베이스 단지 문제가 확실하지 않았다 있습니다 :

  1. (티어 크기를 증가하지 않는 한) 모두에서 데이터베이스 ... 같은 문제를 복사.
  2. 데이터베이스를 삭제하고, 두 번째는 더 흥미 입증 엔티티 프레임 워크 코드 첫

에서 데이터베이스를 다시 (빈 데이터베이스를) 만들었습니다. 이제 데이터베이스에는 'no'데이터가 있으며, 여전히 DTU를 최고조에 달하고 응답하지 않습니다.

100% dtu resolution

첫째 ...이 정상입니까?

같은 레벨 (s0)에서 최대 10 %의 dtu를 사용하는 더 복잡한 데이터베이스가 있습니다. 그래서 나는 당혹 스럽다. 이것은 단지 하나의 사용자, 하나의 데이터베이스이며 현재 비어 있으며 응답하지 않을 수 있습니다.

업데이트 2 : 사본 ("데이터가 10000 개 이상인 레코드"에서). 여기에 6 명 기록 -.. 나는 경기에서 표준 S2 (잠재적 S0보다 더 강력한 5 배 아니오 문제를 다시 S0로 아래로-등급 및

SET STATISTICS IO를 SET 통계 시간을 선택 ON *로 업그레이드했습니다. ..

SQL 서버 구문 분석 및 컴파일 시간 : CPU 시간 = 0 밀리 초, 경과 시간 = 1 밀리

SQL 서버 실행 시간을 :. CPU 시간 = 0 밀리 초, 경과 시간 = 0 밀리

.

SQL Serve 실행 시간 : CPU 시간 = 0 ms, 경과 시간 = 0 ms.

(6 row(s) affected) 

표 '대회'. 스캔 횟수 1, 논리 읽기 3, 실제 읽기 1, 미리 읽기 0, 논리 읽기 0, 논리 읽기 0, 논리 미리 읽기 0, 읽기 미리 읽기 0입니다.

SQL Server 실행 시간 : CPU 시간 = 407 ms , 경과 시간 = 21291 ms.

난빛 데이터베이스를 이해하지 못해 계속 워밍업해야합니까? 같은 쿼리를 다시 실행하면 즉시 실행됩니다. 만약 내가 연결을 닫고 ~ 20 초 다시 다시 할.

업데이트 3 : S1 수준과 수행 ~ 일초

업데이트 4에서 처음으로 위와 같은 쿼리를 다시 S0 수준 ... 첫 번째 쿼리 ...

(6 row(s) affected) 

표 '대회'. 스캔 횟수 1, 논리적 읽기 3, 물리적 읽기 0, 미리 읽기 0, 로브 논리적 읽기 0, 로브 물리적 읽기 0, 로브 미리 읽기 0으로 읽습니다.

SQL Server 실행 시간 : CPU 시간 = , 경과 시간 = 35 ms.

계층과 별도로 이러한 데이터베이스가 변경되지 않습니다. s0에서 내 라이브 사이트 (다른 ​​데이터베이스, 스키마 및 데이터) 중 하나를 로밍 한 후 ... 14.58 % (통계 사이트)를 보냈습니다

내 최고의 조사가 아닙니다. 그러나 피곤하다. D 호기심이 많으면 더 많은 업데이트를 할 수있다.

** 업데이트 : 5 -

enter image description here

첫 번째 100 몇 % 스파이크가 같은 테이블했다 **의 고정 된 종류. 스키마를 업데이트하고 지형 필드를 제거한 후 (데이터가 해당 열에서 null 이었음) 나중에 더 작은 최대 값 ~ 1 ~ 4 %로 이동했으며 결과는 매우 낮은 ms로 되돌아 왔습니다. 도움을

감사합니다,

+0

데이터베이스에 어떤 하중을 넣었습니까? 루프에서 SELECT NULL을 보내서 테이블을 사용하지 않는 데이터베이스를 최대한 활용할 수 있습니다. – usr

+0

'CPU 시간 = 407 ms, 경과 시간 = 21291 ms'에서 S0가 CPU 코어의 약 2 %를 차지하는 것처럼 보입니다. 그 양은 조절 될 수 있습니다. P3는 80 배 더 강력 해 1.6 코어를 제공합니다. 나에게 현실적인 것처럼 들린다. – usr

+0

감사합니다 .... usr ....로드? 나 자신 이외의 연결이없고 하나의 테이블을 쿼리하는 하나의 직접적인 SQL 쿼리 (위의 예제에서는 6 개의 레코드가 있지만 0 개의 레코드로 이루어진 예제)입니다. 나는 그것을 죽이기보다는 능률적으로하려고 노력하고있다. ;) Orchard CMS (몇 명의 세입자 포함)가 동일한 서버에 있으며 같은 DTU에 가까운 곳에서는 사용하지 않는 데이터베이스가 있습니다 (동일한 계층에서 절대로 20 %가 절정에 달한 적이 없었습니다)? (Orchard는 가장 효율적인 데이터베이스 디자인이 아님) – Matthew

답변

2

매트 DTO는 지리 필드했다 타격을 100 %로 문제의 원인 : 내 쿼리에서이 제거 http://msdn.microsoft.com/en-gb/library/cc280766.aspx

문제를 해결했습니다. 내 EF 모델에서 제거하면 잘 돌아 가지 않을 것입니다.

Azure에서 geography 필드를 사용하고 싶습니다. (궁극적으로는 몇 개월 동안은 아닐 것입니다.) 누군가가 DTU의 예상치 못한 양을 (현재 항상 null 인) 미래의 지식을 위해 매우 유용 할 것입니다.

+3

Geopgraphy에는 CLR이 관련되어 있습니다. 하늘빛 벌레. – usr

+0

나는 그것이 나타 났을 때 나는 미리보기를 시작해야한다는 것을 알고 있었다. :) http://azure.microsoft.com/en-us/documentation/articles/sql-database-preview-whats-new/ 나는 그것을 고칠 것이라고 생각한다. ? – Matthew

+0

나는 잘 모른다. 버그를 테스트하고보고하는 것이 좋습니다. 그들은 현재 고객들의 의견을 듣고 문제를 해결하기 위해 열심히 노력하고 있습니다. – usr

관련 문제