在Web服务器上,可以通过自己写HANDLER来截获ASPX的页面访问控制,然后通过PAGE的PROCESSREQUEST(实现自IHttpHandler)方法来执行页面处理,这样就可以捕获页面处理的总时间:System.Diagnostics.Process p = System.Diagnostics.Process.GetCurrentProcess();
TimeSpan tsTotalPTimeStart = p.TotalProcessorTime;
TimeSpan tsUserPTimeStart = p.UserProcessorTime;
DateTime dtStart = DateTime.Now;
IHttpHandler handler = Handler;
context.Handler = handler;
handler.ProcessRequest(context);
DateTime dtEnd = DateTime.Now;
p = System.Diagnostics.Process.GetCurrentProcess();
TimeSpan tsTotalPTimeEnd = p.TotalProcessorTime;
TimeSpan tsUserPTimeEnd = p.UserProcessorTime;
TimeSpan ts = dtEnd - dtStart;
TimeSpan tsTotalPTime = tsTotalPTimeEnd - tsTotalPTimeStart;
TimeSpan tsUserPTime = tsUserPTimeEnd - tsUserPTimeStart;
string strInfo = string.Format("\nWebPageHttpHandler;\n\nFrom:\t{4}({5}\nUrl:\t{0}\nStart:\t{1}\nEnd:\t{2}\nElaspe:\t{3}\nUserPTime:\t{6}(Start:{8}, End:{9})\nTotlPTime:\t{7}(Start:{10}, End:{11})", context.Request.Url.AbsoluteUri, dtStart, dtEnd, ts, context.Request.UserHostAddress, context.Request.UserHostName, tsUserPTime.TotalMilliseconds, tsTotalPTime.TotalMilliseconds, tsUserPTimeStart, tsUserPTimeEnd, tsTotalPTimeStart, tsTotalPTimeEnd);
context.Response.Write(strInfo);问题:Elapse的时间和UserPTime的时间在什么范围是合理的,否则就需要考虑调整系统或优化代码了?