IIS 앱 풀 요청이 없어도 높은 CPU 사용량


10

최근에 Windows Server 2008 R2 / IIS 7.5 서버 세트를 Windows Server 2012 / IIS 8을 실행하는 새 서버로 마이그레이션했습니다.

IIS에서 이상한 동작이 발생했습니다. 우리는 2 개의 동일한 서버를 가지고 있으며, 각 서버는 각각 자체 앱 풀에 2 개의 웹 사이트를 운영하고 있습니다. 각 웹 사이트의 코드는 동일합니다. (말 그대로 ... 같은 dll과 모든 것, 약간 다른 구성).

응용 프로그램 풀은 24 시간마다 일정에 따라 재활용되도록 설정되어 있지만 24 시간 동안 w3wp 작업자 프로세스의 CPU 사용량은 12.5 % 증가합니다 (서버에는 8 개의 프로세서가 있으므로 그렇게 생각하지 않습니다) 우연의 일치).

CPU 사용량이 증가하면 앱이 재활용 될 때까지 CPU 사용량이 감소하지 않습니다. 내가 알 수있는 한, 앱은 현재 아무것도하지 않고 요청을 처리하지 않습니다. 서버에 대한 모든 트래픽을 차단할 수 있으며 CPU 사용량은 그대로 유지됩니다. 심지어 웹 사이트를 다시 시작할 수 있으며 CPU 사용량은 동일하게 유지됩니다. CPU 사용량을 재설정하는 유일한 방법은 실행되는 앱 풀을 재활용하거나 다시 시작하는 것입니다.

나는이 문제가 내 코드와 관련이 없다고 확신하지만, IIS 구성이 좋지 않거나 하드웨어 구성 또는 기타 기능으로 제대로 작동하지 않는 IIS 8의 변경이 있습니까?

중요한지 확실하지 않지만 Rackspace Performance Cloud 서버입니다.

다음은 이러한 서버에서 시간이 지남에 따른 CPU로드를 보여주는 스크린 샷입니다 (녹색 화살표는 앱 풀이 재활용되는 시간을 나타냅니다. 각 고원은 12.5 %의 정수 배임을 알 수 있습니다.

여기에 이미지 설명을 입력하십시오

이 행동을 관찰 한 사람이 있습니까? 2009 년부터 IIS 6과 동일한 문제가있는 사람 과이 질문을 발견했습니다.

트래픽없이 높은 CPU를 사용하는 IIS w3wp

어떤 도움이라도 대단히 감사합니다

답변:


1

2012 년 Sharepoint 2013과 IIS 8에서 똑같은 문제가 발생했습니다. 우리는 문제를 일으키지 않았지만 2008 R2에서 SP2013으로 다운 그레이드되었으며 모든 것이 정상이었습니다.


2
남자. 방금 마이그레이션에 넣은 모든 작업을 마친 후에는 이것이 내가 바라는 답이 아닙니다 ... : /
Leland Richardson

1

디버그 진단 도구 를 사용 하여 문제의 원인 을 추적 할 수 있습니다 . 일반적으로 충돌 및 메모리 누수 문제를 해결하기위한 것이지만 문제를 일으키는 구성 요소를 찾는 데 도움이 될 수 있습니다.


프로그래밍 방식으로 디버그 진단 도구를 사용하는 방법은 high CPU or RAM more 90%무엇입니까?
Kiquenet

@Kiquenet 프로세스의 메모리 덤프를 가져 와서 다른 컴퓨터에서 분석해 볼 수 있습니다. 비슷한 문제에 직면하여 ~ 100 % CPU 사용률로 서버에서 <1 분 내에 덤프를 캡처 할 수있었습니다
Piyush Saravagi

그렇다면 프로그래밍 방식으로 ~ 100 % CPU 사용률로 서버에서 <1 분 안에 덤프를 캡처 합니까?
Kiquenet

1

이것은 실제로 일부 코드가 무한 루프에 빠진 것처럼 보입니다.

요청이 들어오고 IIS가 서비스를 시작하고 무언가 (아마도 버그)가이 동작을 유발하고 작업자 스레드가 무한 루프에 들어가서 CPU를 100 %로 페그 한 다음 앱 풀이 재활용 될 때까지 계속 유지됩니다.

새로운 요청이 들어오지 않더라도 고정 된 스레드가 실제로 종료되지 않기 때문에 CPU는 계속 사용 중입니다.

때때로 새로운 요청이이 동작을 다시 트리거 한 다음 두 개의 정지 된 CPU (또는 3 개 또는 4 개) 를 얻습니다 .

물론 응용 프로그램 풀을 재활용하면 모든 작업자 스레드가 종료되므로 문제가 다시 발생할 때까지 해결됩니다.


0

CPU 프로파일 러를 w3wp 프로세스에 연결하고 무슨 일이 일어나고 있는지 확인할 수 있습니다. CPU 사이클을 소비하는 것을 볼 수 있어야합니다.


높은 CPU 또는 RAM이 90 % 이상일 때 프로그래밍 방식으로 CPU 프로파일 러를 w3wp 프로세스에 연결하는 방법은 무엇입니까?
Kiquenet

0

나에게 무한 루프처럼 보인다. IIS가 미해결 요청이 없다고 말 했음에도 불구하고 이것을 몇 번 보았습니다. 어떻게 될 수 있는지 잘 모르겠지만 이것이 바로 당신이 볼 것입니다. 어려운 부분은 IIS가 요청을 완료 할 때까지 요청을 기록하지 않기 때문에이 요청을 유발하는 요청을 찾는 것이 어렵다는 것입니다.

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