Azure App Service에서 100 % CPU 사용의 원인을 식별하는 방법은 무엇입니까?


12

Azure App Service Plan에 5 개의 앱이 있으며 서로 다른 클라이언트에 대해 동일한 앱의 모든 사본이 있습니다. SQL 데이터베이스가있는 ASP.NET MVC 앱입니다.

오늘 아침에 느리고 응답이없는 사이트로 깨어 났으며 때로는 503 오류가 발생했습니다. 앱 서비스 계획에 대한 CPU / 메모리 메트릭을 확인한 결과 CPU가 100 %로 고정 된 것을 발견했습니다.

100 % CPU

그리고 개별 사이트의 CPU 시간 그래프는 다른 사이트보다 약간 더 좋지만 동시에 모든 사이트가 사라지는 것을 보여줍니다.

개별 사이트 CPU 사용량

고급 응용 프로그램 다시 시작을 수행하여 문제를 해결하려고했지만 블레이드가로드되지 않습니다. 응답 할 수없는 서버에서 정보를 가져 오려고했기 때문이라고 가정합니다.

결국 각 사이트를 하나씩 중지하려고 시도하여 CPU를 0으로 되 돌린 다음 다시 시작하여 문제를 해결 한 것처럼 보였지만 이제는 일부 사이트가 다시 올라 가기 시작했습니다.

몇 주 전에 비슷한 문제가 발생하여 App Plan에 비해 너무 커지고 있다고 가정하여 S1에서 S2로 업그레이드하면 오늘까지 괜찮 았습니다.

이 CPU 배고픈 행동의 원인이 무엇인지 알아내는 방법에 관해서는 완전히 손실되었습니다. 누구든지 내가 이것을 진단하기 시작하는 올바른 방향으로 나를 가리킬 수 있습니까?


이것은 Azure 앱 서비스 계획에서 약간 발생하는 것 같습니다. MS에 문의 했습니까? -변경하지 않으면 플랫폼에 문제가 있음을 알립니다.
Sum1sAdmin

나는 그들과 함께 지원 계획이 없기 때문에 그들에게 알리는 방법이 없다고 생각합니다. 100 % CPU 문제를 무작위로 경험한다면 다른 공급 업체를 찾아야 할 수도 있습니다. 두 가지 사례가 있다고 생각하십니까?
littlecharva

나는 technet과 같은 공개 포럼을 사용할 것입니다-그것이 중요하다면 당신은 그것을 확장 할 수 있지만 그 경우에 고쳐야 할 것에 대해서는 더 많은 돈을 지불하지 않을 것입니다.
Sum1sAdmin

답변:


6

우리는이 문제를 몇 번 겪었고 매번 GC (가비지 수집)가 소진되는 것으로 판명되었습니다. 증명하고 진단하기는 어렵지만, 결국 kudo (scm) 사이트를 사용하여 tools => support (앱 지원 사이트로 이동)를 클릭합니다.

당신이 당신의 디렉토리를 선택 (여러 가지고 넣다) 및 사이트 (다음 진단 버튼 => 통계 분석에 클릭 여기에서 참고 다음 단계는 언제든지 변경할 수 있도록이 이미 변경) 한 후 다시 => Dianotics을 분석하면 결국 메모리 덤프 => "분석 상태"보고서가 표시됩니다. 이 파일은 싫어하는 브라우저 IE 또는 Edge에서 열 수있는 mht 파일이어야하며 "gc"키를 검색하십시오.

"GCFrame"과 같은 것에 대한 참조가있는 흥미로운 호출 스택 프레임을 찾거나 "System.Threading.WaitHandle.WaitMultiple"을 더 흥미롭게 호출하면 시스템에 가비지 수집에 문제가있을 수 있습니다. .

어떻게 해결해야합니까? "IE 6을 계속 사용하고있는 세상에서 어떻게 살아야합니까?"


1
이것은 움직였다. 이제 "문제 진단 및 해결-> 진단 도구-> 메모리 덤프 수집"의 앱 서비스 (scm 사이트, 일반 Azure 사이트 아님)에 있습니다.
Josh Noe

3

가장 좋은 방법은이 특정 앱에 New Relic 또는 Application Insights를 설치하는 것입니다. 앱 서비스-> 도구-> 성능 모니터링을 통해 쉽게 설치할 수 있습니다. 이것은 서버와 클라이언트 측에서 무슨 일이 일어나고 있는지에 대한 자세한 정보를 제공합니다.

응용 프로그램 모니터링

기사 : Azure 웹앱 성능 모니터링

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.