2012-02-14 74 views
8

我正在嘗試查找我的加載時間正在消耗的位置。我已經加入追蹤到幾乎所有我能想到的是有缺失的200毫秒(這是總負荷的50%以上)asp.net頁面的加載時間無法計入

我如何解釋這種缺失的時候

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

它看起來比如PreInit(一個僅限頁面的事件)和Init控件之間正在消耗的未計數時間。一些想法:

  1. 控制初始化是一個可能的罪魁禍首。控制初始化完成後,控制初始化事件被觸發,而不是之前。
  2. 您使用的是ASP.NET主題還是皮膚?如果是這樣,它們在PreInit和Init之間應用。
  3. 請記住,Init事件是自下而上觸發的;孩子在父母面前。
  4. 線程問題是時間間隔的一個可能原因。你是否從一個空閒的系統測量?是否有任何I/O操作在頁面生命週期的早期發生?
  5. 您是否使用母版頁?如果是這樣,請記住,它們是作爲頁面的子控件實現的。