2008-08-13 2 views
4

인트라넷에서 사용자 지정 응용 프로그램을 실행 중이며 최근에 IIS를 100 % CPU 사용률로 중단하고 리셋해야하는 문제가 발견되었습니다.비 운영 환경에서로드 관련 크래시 복제

사용자를 대상으로하는 것이 아니라 솔루션을 결정할 때 이전 릴리스로 롤백했습니다. 첫 번째 단계는 문제를 재현하는 것입니다. 그러나 그렇게 할 수는 없습니다.

여기에 몇 가지 배경이다 :

생산성은 두 개의 CPU와 RAM 2GB의 단일 가상화 (VM웨어) 웹 서버가 있습니다. 데이터베이스 서버에는 4GB와 2 개의 CPU가 있습니다. VMWare에도 있지만 물리적 하드웨어는 분리되어 있습니다.

정상적인 사용 중에 응용 프로그램이 정상적으로 실행됩니다. w3wp.exe 프로세스는 일반적으로 betwen 5-20 % CPU와 약 200MB RAM을 사용합니다. CPU 및 RAM은 정상적인 사용 환경에서 약간 변동하지만 예외는 아닙니다.

그러나 문제가 발생하기 시작하면 RAM이 크게 올라가고 CPU가 98 % (또는 얻을 수있는만큼) 느려집니다. 사이트가 응답하지 않아 IIS를 다시 시작해야합니다. 이 상황에서 응용 프로그램 풀을 다시 설정하면 IIS를 완전히 다시 시작해야합니다.

밤에는 사용하지 않습니다 (사용하지 않음). 사이트가로드 중일 때 더 많이 발생하지만 피크가 아닌 시간에도 발생합니다.

이 문제를 해결하기위한 첫 번째 단계는 그것을 재현하는 것입니다. 로드를 시뮬레이트하기 위해 JMeter를 사용하여 시뮬레이션을 시작합니다. Google의로드 스크립트는 크래시가 발생한 시점의 실제 사용량을 기반으로합니다. JMeter를 사용하면 크래시 중 2 ~ 3 배의로드가 상당히 많이 걸리므로 사이트가 정상적으로 작동합니다. CPU가 높아지고 사이트가 느려지지만 메모리 사용이 합리적이며 아무 것도 걸리지 않습니다.

비 생산 환경에서 이와 같은 문제를 재현하는 방법에 대한 조언이있는 사람이 있습니까? 오류를 재현하고 솔루션을 결정한 다음 다시 테스트하여 문제가 해결되었는지 확인하고 싶습니다. 이 과정에서 우리는 문제를 해결할 수있는 몇 가지 작은 것들을 발견했지만, 문제를 재현하고 개선 된 버전을 테스트 할 수 있다면 훨씬 더 확신 할 수 있습니다.

모든 도구, 기술 또는 이론에 감사드립니다!

+0

IIS 및/또는 응용 프로그램의 로깅 기능이 있다고 가정합니다. 문제가 시작될 때 정확히 무슨 일이 일어나고 있습니까? 로드 테스트가 시뮬레이트하는 것과 다른 점은 무엇입니까? –

+0

나는 같은 문제를 가지고 있습니다. 여러분의 VM웨어 성능 로그를 살펴보십시오. 한 두 달이 넘은 메모리를보십시오. 우리는 매 8-10 일마다 이런 일이 발생합니다. 메모리 누수가있는 것처럼 보입니다. 우리는 똑같은 웹 사이트를 실제 물리적 서버에서 아무런 문제없이 실행 시켰습니다. IIS 및 VM웨어의 문제인 것으로 보입니다. 질문에 답하기 위해로드 도구를 몇 주 동안 실행하고 테스트 서버에서 추적을 설정하십시오. 솔루션을 찾으면 게시하십시오. – Mike

답변

1

this blog entry에서 이러한 종류의 문제를 해결하는 방법에 대한 정보를 찾을 수 있습니다. 그녀의 블로그는 일반적으로 좋은 디버깅 리소스입니다.

0

테스트 환경이 실제로 라이브와 동일합니까? 예 : 2 개의 물리적 서버에 2 개의 개별 VM 인스턴스 - 네트워크 연결 및 계정 유형이 있습니까?

데이터베이스에 다른 인스턴스가 있습니까?

IIS에 다른 웹 응용 프로그램이 있습니까?

.Net 구성이 맞습니까?

서비스 계정에 대한 응용 프로그램 풀 구성 권한이 있습니까? Try look at this - MS Article on II6 Optmising for Performance

많은 트릭이 있습니다.