2012-02-14 5 views
8

내로드 시간이 소비되는 곳을 찾으려고합니다. 내가 생각할 수있는 거의 모든 것을 추적하고asp.net 페이지의로드 시간을 계산할 수 없습니다.

(총 부하의 50 % 이상이다) 누락이 200ms가 어떻게 것 같습니다

Description      Duration(ms) with Children(ms) from start(ms) 
    http://localhost:80/default.aspx 320.8  357.3    +0.0 
    CreateControlCollection   0.0   0.0    +27.2 
    OnPreInit       0.1   0.1    +27.2 
    GetVaryByCustomString    0.0   0.0    +227.0 
    Control OnInit      0.0   0.0    +232.4 
    Control OnInit      0.0   0.0    +232.4 
    Control OnInit      0.0   0.0    +234.2 
    Control OnInit      0.0   0.0    +234.2 
    Control OnInit      0.0   0.0    +234.2 
    GetVaryByCustomString    0.0   0.0    +234.6 
    Control OnInit      0.0   0.0    +234.9 
    Control OnInit      0.0   0.0    +234.9 
    GetVaryByCustomString    0.0   0.0    +235.0 
    GetVaryByCustomString    0.0   0.0    +235.3 

답변

2

이 누락 된 시간을 설명 할 수 있습니다 추가 unaccounted-for 시간은 PreInit (페이지 전용 이벤트)와 Init 컨트롤 사이에서 소비됩니다. 몇 가지 아이디어 :

  1. 제어 초기화가 가능합니다. 컨트롤 Init 이벤트는 컨트롤 초기화가 완료된 후 완료됩니다.
  2. ASP.NET 테마 또는 스킨을 사용하고 있습니까? 그렇다면 PreInit와 Init 사이에 적용됩니다.
  3. Init 이벤트는 상향식으로 실행됩니다. 부모 앞에서 아이.
  4. 스레딩 문제는 시간 간격의 원인 일 수 있습니다. 그렇지 않으면 유휴 시스템에서 측정합니까? 페이지 수명주기 초기에 어떤 I/O 작업이 있습니까?
  5. 마스터 페이지를 사용하고 있습니까? 그렇다면 페이지의 하위 컨트롤로 구현된다는 점에 유의하십시오.
관련 문제