2016-06-06 2 views
1

은 동일한 Resource Group으로 Azure VM running SQL server으로 배포되었습니다. 이전에 이해 한 바는이 프로세스가 지리적으로 서로 가까이에있다.Azure 웹 사이트를 Azure VM 네트워크 대기 시간으로 향상

그러나 성능 문제가 발생했습니다. 이

var result = await Context.Settings.Where(o => o.Name == name).FirstOrDefaultAsync(); 

같은 코드의 간단한 비트 또는

var result = await context.Categories.Include(o => o.ParentCategory); 

간단 또는 내 로컬 디바이스 설정 및 생산 시스템 사이의 평균 성능 차이 위의 조합 무언가를 실행할 때 Entities Framework을 사용하여 400 %입니다. 이 차이점은 다른 유형의 쿼리에서 상당히 일관된 것으로 보입니다.이 문제에서 더 큰 VM을 던진 것은 아무런 영향도 미치지 않아 하드웨어 문제가 아닌 것 같습니다. 일부 네트워크 지연이 예상되는 반면 이는 매우 높게 보입니다.

내가 뭘 잘못하고 있니? 누군가 Azure 웹 사이트와 Azure VM 사이의 통신을위한 최상의 방법을 제공하고 대기 시간을 향상시키는 방법을 제공한다면 진심으로 감사 할 것입니다.

Sidenote : 내 연구 과정에서 Azure Virtual Networks을 만들 수 있다고 판단했으나 해결책이 될 수 있다고 생각하지만 웹 사이트를 이동하거나 가상 네트워크에 연결하는 방법을 알 수 없습니다.

+0

같은 지역에 모든 항목을 배치했는지 확인하십시오. 동일한 자원 그룹을 사용한다고해서 모두가 동일한 지역에 있음을 보장하는 것은 아닙니다. 문서에서 : "5 - 자원 그룹은 다른 지역에있는 자원을 포함 할 수 있습니다." https://azure.microsoft.com/en-us/documentation/articles/resource-group-overview/ –

답변

1

Maxim. 몇 번이나이 의견을 보았습니다. Microsoft는 Azure에서 Entity Framework를 사용하기위한 몇 가지 안내서를 게시했습니다. 그것은 귀하의 질문에 대한 가장 좋은 해답이 될 수 없습니다

https://msdn.microsoft.com/en-us/library/cc853327(v=vs.110).aspx

,하지만 난 그것을 크게 도움한다고 생각 : 당신은 여기에서 찾을 수 있습니다. 그것은 확실히 나를 위해했다.

또한 가능한 한 부드러운 종류의 CQRS 구현을 고려할 것입니다. 예를 들어 쓰기 용과 읽기 용으로 두 개의 컨텍스트 개체를 만들 수 있습니다. 읽기 전용 컨텍스트에서는 EF에서 추적 기능을 해제 할 수 있습니다. 은 EF 읽기 성능을 전반적으로 향상시킵니다.

// In your READ context, do this in the constructor 
context.Configuration.AutoDetectChangesEnabled = false; 

이 정보가 도움이 되었기를 바랍니다.

+0

진심으로 귀하의 의견을 고맙게 여긴다. 귀하가 언급 한 다른 질문 들과는 달리 (나는 숫자를 보았습니다) 나의 문제는 근본적으로 다른. 내 문제는 Entity Framework에 있지 않으므로 설명하는 최적화 중 일부를 적용하지 않고 적용하여 쉽게 확인할 수 있습니다. 더 나아가 나는 이것이 EF 이슈라면 생산 에서뿐만 아니라 내 dev 컴퓨터에서도 똑같은 동작을 기대할 것이다. 내 문제는 불행히도 당신이 해결하지 못하는 Azure 클라우드의 네트워크 지형도와 관련이있는 것처럼 보입니다. –

+0

네트워크 토폴로지는 그대로입니다. 그것은 수평 스케일 (다중 머신)을 위해 만들어졌으며 수직 스케일 (단일 머신에서 더 많은 CPU/RAM)을 위해 제작되지 않았습니다. 또한, 당신은 어느 정도 비동기라고 생각하는 것을 어느 정도 조정해야 할 수도 있습니다.개발 환경을 클라우드 (클라우드)와 비교할 때 모든 사람들이 초기 충격을 받지만 - 일단 초기 충격을 극복하고 그것을 사용하면 이점은 다시 돌아 가지 않습니다 .- 약속 : –