2009-07-09 8 views
2

2008 년 (IIS7) 서버에 .NET 웹 사이트를 배포 했으므로이 사이트는 최대 30-50 명의 동시 사용자가 사용할 수 있습니다. 부하 테스트를 할 때 사이트는 100 명의 동시 사용자가 언젠가는 멈추게됩니다. 페이지로드가 1.5 초에서 90+로 변경됩니다.w3wp의 CPU 사용량이 높음

w3wp가 100 %에 도달하고로드 테스트를 중지 할 때까지 계속로드됩니다. 반면에 SQL은 약 2-3 % 정도 유휴 상태입니다.

디버그 diag를 사용하여 추적을 수행했으며 보고서는 가장 가까운 주자를 위해 11.358 cpu 시간 대 0.687을 차지하는 스레드 중 하나를 가리 킵니다. 나는 범인을 찾았지만, 내가 주어진 정보를 무엇을 만들지 몰랐다는 것은 대단한 일이다. 다음은 보고서 출력입니다. 00 : 11.187 시간 커널 모드에서 소비 -

스레드 (19) 시스템 ID 4016의 진입 점 을 0x00000000은 2009년 7월 8일 오후 9시 28분 53초 시간 00 사용자 모드
0 일에 소요되는 시간을 만들기 0 : 00 : 00 일 !! 00.171

함수 소스 의 ntdll KiFastSystemCallRet
의 ntdll NtWaitForSingleObject + C
KERNEL32 WaitForSingleObjectEx +가
mscorwks 수 PEImage :: LoadImage + 1af 01,238,007,316,275 52,314,960,453,210 mscorwks! CLREvent :: WaitEx + 117
mscorwks! CLREvent는 : + 17
mscorwks 기다려! ThreadpoolMgr :: SafeWait + 73
mscorwks! ThreadpoolMgr :: WorkerThreadStart + 11C mscorwks! 스레드 :: intermediateThreadProc + 49 KERNEL32! BaseThreadInitThunk +의 전자의 ntdll! __ RtlUserThreadStart는 + 23

의 ntdll! _RtlUserThreadStart + 1B

은 어떤 도움에 감사드립니다!

답변

5

더 높은 수준의 프로필러를 사용하는 것이 좋습니다. 여기에 목록은 다음과 같습니다

+1

+1 dotTrace ftw –

+0

ANTS도 꽤 좋습니다. –

+0

방금 ​​dotTrace 데모를 다운로드 했으므로 일부를 좁히는 데 도움이되었습니다. 다음은 확대 된 범인 노드의 스크린 샷입니다. 희망을 갖고 누군가가 이것에 대해 밝힐 수 있습니다. http://www.imgur.com/Xhoka.png ToolkitScriptManager에서 시작된 것으로 보입니다. 이것은 알려진 중량급입니까? 나는 보통의 ScriptManager를 사용하는 편이 낫다. – XVargas

1

는 CPU를 많이 사용하는, 슬로우 얼마나 많은 예외를 확인하기 위해 성능 모니터를 확인합니다.

+0

방금 ​​확인했는데 오류가 발생하지 않았습니다. – XVargas

관련 문제