如何衡量网页的响应和加载时间?

hol*_*ira 5 c# monitoring winforms

我需要构建一个Windows窗体应用程序来测量完全加载网页所需的时间,这样做的最佳方法是什么?

这个小应用程序的目的是以预定的间隔监视网站中的某些页面,以便能够事先知道Web服务器或数据库服务器是否出现问题.

附加信息:

我不能使用商业应用程序,我需要开发它,以便能够将结果保存到数据库并基于此信息创建一系列报告.

webrequest解决方案似乎是我正在使用的方法,但是,能够测量完全加载页面所需的时间(图像,css,javascript等)会很好.知道如何做到这一点?

Cra*_*g T 20

如果您只想记录获取基本页面源所需的时间,可以围绕秒表包装HttpWebRequest.例如

HttpWebRequest request = (HttpWebRequest)WebRequest.Create(address);

System.Diagnostics.Stopwatch timer = new Stopwatch();
timer.Start();

HttpWebResponse response = (HttpWebResponse)request.GetResponse();

timer.Stop();

TimeSpan timeTaken = timer.Elapsed;
Run Code Online (Sandbox Code Playgroud)

但是,这不会考虑下载额外内容的时间,例如图像.

[编辑]作为替代方案,您可以使用WebBrowser控件并测量从触发执行.Navigate()和DocumentCompleted事件之间的时间.我认为这还将包括额外内容的下载和渲染时间.但是,我没有大量使用WebBrowser控件,只是在您反复请求同一页面时才知道是否必须清除缓存.