우리의 호스팅 제공 업체는 최근 테스트 서버를 한 환경에서 다른 가상 환경으로 옮겼습니다. 이동 후 테스트 환경의 일부 작업이 매우 느려졌습니다.실시간 프로파일 링 = 45 초, 스레드 시간 = 0.387 초이 불일치의 원인은 무엇입니까?
예를 들어 원격 데스크톱에 로그인하는 속도가 느리며 원격 데스크톱을 사용하지 않고 로그인하는 것뿐입니다. 일반적으로 바람처럼 움직이는 일부 asp.net 응용 프로그램은 현재 거북이처럼 실행 중입니다. 이 경기 침체의 원인에 대한 많은 논쟁 끝에 실제 문제를 조사하기 시작했습니다.
테스트 서버에 dotTrace를 설치하면 마지막으로 흥미로운 찾기가 발견되었습니다. 내가 심하게 수행 할 줄 알았 페이지를 실행 내가 가지고 번잡 한 페이지에 대한 작업을 수행 한 스레드에 대한 다음의 (높은 수준) 결과 :
Real/wall time: 45538 ms
Thread time: 375 ms
지금까지 내가이 스레드가 끔찍한를 보내는 것을 의미한다 알고
오랜 시간이 실행되지 않습니다. 내 자신의 애완 동물 이론은 가상 환경이 내 서버에서 다른 서버의 우선 순위를 결정한다는 것입니다. 그것이 원인 일 수 있습니까? 당신의 생각은 무엇입니까?
참고 : 실제 추적과 같은 세부 정보가 필요하면 요청할 때 문제가 없습니다.
편집 : 자세한 내용! 추적에서 가장 비싼 호출은 다음과 같습니다 KeyInfoX509Data.ctor (X509Certificate에, X509IncludeOption)에
: 1 통화 SignedXml.ComputeSignature에 30,014 MS
: 1 통화 나에게 15,045 MS
+1, James에게 동의합니다. 두 메서드 호출은 계산 상 바운드 일 가능성이 높으므로 ISP가 서버의 CPU 사용률을 확인하도록하는 것이 좋습니다. –
답변 해 주셔서 감사합니다. CPU 나 IO 대기 중 하나 인 것으로 판명되면 받아 들일 것입니다. 그때까지 +1. ;) IO와 CPU는 항상 나의 주요한 용의자이지만, 실제 가상 서버를 프로파일 할 수 없기 때문에 직감적이다. 호스팅 제공 업체가 어딘가에서 조정할 수있는 환경을 발견하게되기를 바랍니다. – JohannesH
CPU 나 디스크와 관련이 없다는 것이 밝혀졌습니다. 이 문제는 해당 서버에서 잘못된 DNS 서버 등록으로 인해 발생했습니다. 나는 아래의 질문에 대답했다. 그러나 이것을 읽는 다른 사람들에게는 아마도 그 이유가 CPU 나 디스크 부하와 관련이있을 가능성이 더 높습니다. – JohannesH