짧은 버전 : Azure 대기열 요청 시간이 갑자기, 극적으로 그리고 영구적으로 증가하는 이유는 무엇입니까?Azure 대기열 성능이 갑자기 떨어짐
아마도 여기에 관련 될 수있는 모든 세부 사항을 제공하기 어려울 것이다, 그러나 여기에서 시작입니다 것 :
이가 작업 요청을 배치하는 WCF 서비스와 푸른 응용 프로그램 (SDK 2.0)입니다 대기열 (하루에 약 100,000 건)과 대기열을 처리하는 몇 가지 작업자 역할. 우리는 최신 .NET 에이전트 (3.3.38)로 New Relic 모니터링을했습니다.
며칠 전에 배포 된 최신 릴리스에서 문제가 발생했습니다. 약 24 시간 동안 정상적으로 실행 된 후 갑자기 우리는 작업자 역할을 가져올 때 시간 초과 비율이 크게 증가하기 시작했습니다. 대기열의 메시지와 함께 처리량이 급격히 떨어졌습니다. (우리의 애플리케이션은 이제 40 명의 직원을 사용하여 자체 대기열을 간신히 따라 잡을 수 있습니다. 일반적으로 2 번만 사용합니다!) 제한 시간이 시작된 이후부터는, 그것이 일어나기 시작한 이래로 같은 속도로 유지됩니다. 새로운 유물에서
몇 이미지는 설명하기 :
을, 난 그냥 어디 알아 내기 위해 노력하고있어이 좋은 답변을 제공하기 위해 거의 충분한 정보가 아니지만 나는보기 시작할지도 모른다. New Relic과 Microsoft에서 지원 티켓을 열었습니다.하지만 우리는 자체 조사를하고 있습니다. 이것이 억제 될 수 있습니까? 대기열 프로세서 작업자 역할에서 리소스 피로가 발생합니까? 우리는 WCF 서비스에 대한 부하가 증가하는 것을 보지 못했으며 Azure 클라이언트 라이브러리를 변경하지 않았거나 큐를 처리하는 코드의 많은 부분을 변경했습니다.
애플리케이션 업데이트를 롤백하고 정상적인 서비스로 돌아 갔는지 확인합니다. 당신이 그것을 할 수없는 경우 나는 차단 전화를 초래할 가능성이있는 것을 면밀히 조사 할 것입니다. 코드의 주요 영역에 도구를 많이 넣고 코드를 실행하는 데 오랜 시간이 걸리는 곳이 있는지 확인하십시오. –
필자는 테스트 환경에서도 문제가 발생했기 때문에 문제의 범위를 좁힐 수있었습니다. CloudQueue.DeleteMessage 호출이 시간 초과되었지만 (때로는 간헐적으로 발생하는 것이 아니라 문제가 발생할만큼 자주 발생하는 경우도 있음) 약간의 적절한 편집을하거나 곧 새로운 질문으로 옮길 것입니다. – user1454265