2009-11-06 4 views
4

저는 VS.NET 2008을 사용하여 ASP.NET MVC 응용 프로그램을 프로파일 링하려고했습니다. 실패했습니다. 프로필 세션을 시작하려고하면 VS.NET에서 일반 서버 500 오류가 발생합니다.Visual Studio 2008 성능 프로파일 러 ASP.NET 관련 문제

웹 사이트를 올바르게 구성 할 수 없습니다. ASP.NET 프로세스 정보를 가져 오지 못했습니다. 'http://localhost:4750/foo/VSEnterpriseHelper.axd'을 (를) 요청하는 중 오류가 발생했습니다 : 원격 서버에서 오류를 반환했습니다 : (500) 내부 서버 오류.

나는 등 여러 가지 시도했다 : 그 Web.config의 보장

브랜드의 새로운 ASP.NET MVC 응용 프로그램 (예 : 파일이 : 및 UAC는

  • 모든 것이 여기에 언급) 꺼져 그래서 내 컴퓨터가 그런 응용 프로그램을 프로파일 링 할 수 있다는 것을 알고 있습니다.

    그럼, 여기 내 질문은 VS.NET이 ASP.NET 응용 프로그램에서 프로파일 링 세션을 시작하지 못하게 할 수있는 일반적이며 흔치 않은 것들은 무엇입니까?

  • +0

    제 대답은 "VS.NET 프로파일 러 사용을 멈추고 대신 Red 게이트의 ANTS 프로파일 러를 사용하십시오"입니다. 나는 ANTS로 바꿨을 때 즉시 생산적이되었습니다. –

    답변

    4

    을 쓴 MSFT 개발자의 응답이 같은 문제를보고있는 것으로 보인다 VS.Net 프로파일 링을 작동시키지 못한다면 도움이 될만한 몇 가지 타사 도구가 있습니다. 분명히 youy'll는 이것을 지불 할 필요가있다.

    개미 여기에 무료 데모가 있습니다 http://www.red-gate.com/products/ants_memory_profiler/index_v2.htm

    JetBrains의도 프로파일을 제공하는 추적 도구가 (나는 이것을 사용하지 않은하지만 그들의 ReSharper에서 도구를 좋아을, 그래서 나는이 좋은 것입니다 의심) : http://www.jetbrains.com/profiler/index.html

    +0

    ANTS가 처음으로 일했으며 이미 훌륭한 결과를주었습니다. 고마워. –

    4

    프로파일 러와 레슬링 사이에, this method에 의해 시간 관점에서 프로그램이하는 일을 쉽게 알 수 있습니다. 그것이 드러내는 것은 대개 놀랍습니다.

    추가 : 나는 꽤 많은 양의 튜닝을했는데 벽시계가 중요합니다. 개별 명령은 함수/메소드보다 중요합니다. & 그래프 흥미롭지 만 성능면에서 실제로 무엇을 의미하는지 아무도 모릅니다. 데모는 만델 브로 (Mandelbrot)와 같은 모든 마른 장난감입니다. 개별 샘플은 돈이 아닌 요약입니다.

    예를 들어, .NET 응용 프로그램을 조정하면 시작하는 데 오랜 시간이 걸립니다. 그래서 그 간격에서 여러 번 샘플링하고 "무엇하고 왜 그런가?"라고 묻습니다. 리소스에서 ID로 문자열을 찾습니다 (그래서 문자열은 국제화 될 수 있습니다). 그게 필요 할까? 특정 문자열을 보면 국제화 될 필요가없는 문자열입니다. 프로파일 러는 이것을 나에게 말할 수는 없지만 샘플은 즉시이를 발견합니다.

    +0

    좋은 답변입니다. ANTS는 내가 문제가 될 것이라고 생각하지 않은 몇 가지 방법을 지적했다. –

    +0

    @ Martin : 감사. 내가 의미하는 바를 더 설명했다. –

    2

    외부 구성이 인 AppSettings 인 분할 구성을 사용하는 경우 이와 같은 오류가 발생할 수 있습니다.

    은 Visual Studio 프로파일 러는

    <appSettings configSource="App_Config\AppSettings.config" /> 
    

    를 통해 당신이 당신의 appconfig가 설정을 포함하는 것이 식별에 문제가있는 것과 직접 프로파일 링에 필요한 모든 appSettings는 거기에 대신의 Web.config를 삽입 할 필요가있다.

    내 경우에는 AppSettings를 web.config로 다시 이동하여 문제를 해결했습니다. 여기

    +0

    흠. 그 흥미 롭군요. 외부 AppSettings.config가 없지만 다른 외부 .config 파일이 많이 있습니다. 그게 관련이 있는지 궁금해. +1 흥미로운 제안. –

    4

    나는 그것이 당신의 Web.config가

  • 는 새로운 성능 세션을 생성 쓸 수 있는지 확인

    1. VS2010

      에서 내 ASP.NET 사이트에 대한 일을 가지고, 어떤을 추가하지 않는 방법입니다

    가 대신 웹 사이트의 URL을 추가 그것에 프로젝트 "대상 -> 오른쪽 클릭 -> 기존의 웹 사이트를 추가" 한 번 웹 사이트를 실행해야합니다되도록 IIS 프로세스 또는 ASP.NET 서버 프로세스는 위

    1. 를 실행 오른쪽

    지금 귀하의 사이트에 가서 어떤 상황을 웹 서버 프로세스를 '첨부'를 선택하여 성능 세션을 클릭하고 선택이다 그런 다음 VS로 돌아가서 중지를 클릭하십시오.

  • +0

    좋은 답변입니다. 한 가지 제안으로 목록을 형식화하면 응답을 읽는 것이 더 쉽습니다 (특히 주문한 목록이있는 응답). 나는 당신에게 보여주기 위해 그것을 하겠지만 당신의 대답을 편집 할 수는 없습니다. – davids