2017-04-14 5 views
0

저는 C#에서 응용 프로그램을 개발 중이고 Azure를 사용하고 있습니다. 많은 얼룩을로드하려고하면 일부 요청이 ~ 2 분이 걸린다는 것을 알았습니다. 일반적으로 다운로드 시간은 1 ~ 15 초입니다. 이상한 점은 요청에 1-15 초 또는 2 분이 걸릴 수 있다는 것입니다 (결코 30 초 또는 1 분 등). Azure가 어떤 종류의 조절이나 재시도 메커니즘을 가지고있는 것처럼 보였지만 확실하지 않습니다.Azure blob을 다운로드 할 때 2 분 지연

2 분 지연의 원인은 무엇입니까? 지연을 피하는 방법은 무엇입니까?

CloudBlockBlob blob = this.GetBlobReference(key);  
using(var msGet = new MemoryStream()) 
{ 
    await this._ap.Do(() => 
    { 
     var downloadToStreamAsync = blob.DownloadToStreamAsync(msGet); 
     return downloadToStreamAsync; 
    }).ConfigureAwait(false); 
} 
+2

유용 할 수 있습니다 https://docs.microsoft.com/en-us/azure/storage/storage-performance-checklist#subheading16 https://docs.microsoft.com/en-us//azure/storage/storage-scalability-targets https://blogs.msdn.microsoft.com/mast/2014/08/02/how-to-monitor-for-storage-account-throttling/ – Lanorkin

+0

@ Lanorkin thanks for useful 링크 +1 – burzhuy

+0

나는 이것을 본 적이 없다. azcopy 도구를 사용하여 동일한 다운로드를 시도하고 결과를 비교하는 것이 좋습니다. 그렇게하면 Azure가 조절되는지 여부와 관련이 있거나 아마도 관련 코드 일 수 있습니다. https://docs.microsoft.com/en-us/azure/storage/storage-use-azcopy – codingoutloud

답변

0

하늘빛 문제인 것처럼 보입니다. https://github.com/Azure/azure-webjobs-sdk-script/issues/298

현재이 기능 애플 리케이션에 관한 짧은 유휴 시간 제한은, 그래서 그들은 5 분 동안 요청을하지 않을 경우 다음 요청이 오래 걸리는 감기 시작됩니다. 우리는이 제한 시간을 늘리려고하고 있는데, 상황을 훨씬 덜 흔하게 만듭니다.

그리고 유일한 해결책은 서버를 따뜻하게 유지하는 것입니다. 나는 3 분 안에 푸른 색 창고에 1 번 전화를 할 수있는 서비스를 실행하는 것이 좋을 것이라고 생각합니다. 피하기 위해 콜드 스타트 ​​

+0

따라서 Azure Storage와는 아무런 관련이 없습니다. 이것은 Web Apps에만 해당됩니다 (귀하의 질문이나 태그에서 언급하지 않은 내용). –

+0

그것은 단지 이론 일뿐입니다. 나는 100 % 확신 할 수 없습니다. 그러나 증상이 동일하기 때문에 비슷하게 보입니다. – burzhuy

+1

하늘색 함수 (및 웹 앱)는 App Services에만 해당됩니다. Azure 기능에 대한 5 분 제한 시간은 Azure 기능에만 해당됩니다. –