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

2024-04-10

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

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

附加信息:

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

webrequest 解决方案似乎是我要使用的方法,但是,如果能够测量完全加载页面(图像、css、javascript 等)所需的时间,那就太好了。知道如何做到这一点吗?


如果您只想记录获取基本页面源代码需要多长时间,您可以将 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;

但是,这不会考虑下载图像等额外内容的时间。

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何衡量网页的响应和加载时间? 的相关文章

随机推荐

  • 如何缩小java堆空间? [复制]

    这个问题在这里已经有答案了 我有一个 Java 控制台应用程序 它使用 DOM 处理大型 xml 文件 基本上 它根据从数据库获取的数据创建 xml 文件 现在 正如您猜测的那样 它使用了大量内存 但令我惊讶的是 它与错误代码无关 而是与
  • Jetpack Compose 失败,并显示 NoClassDefFoundError: 无法解析:Landroidx/compose/runtime/MutableStateKt;

    我构建了一个应用程序来使用 Jetpack compose 在 alpha 11 之前一切都工作正常 但由于我尝试将其更新到 alpha 12 甚至 beta 1 该应用程序在运行时失败并出现错误NoClassDefFoundError F
  • 如何设置占位符文本的颜色和字体样式

    我想将颜色设置为占位符 将字体样式更改为粗体 并增加大小 我怎样才能实现这个目标 我应该为占位符提供样式 还是有其他方法可以实现此目的 我想设置颜色并更改字体样式以在所有浏览器中工作 以在下面的结果中选择大小
  • 为什么点击事件总是不触发?

    如果您重新审视这个问题 我已将所有更新移至底部 因此它实际上作为一个问题读起来更好 问题 我在使用处理浏览器事件时遇到了一些奇怪的问题D3 不幸的是 这位于一个相当大的应用程序中 并且因为我完全不知道原因是什么 所以我正在努力寻找一个小的可
  • 修改栈上的返回地址

    我研究了缓冲区溢出漏洞的基础知识 并尝试了解堆栈是如何工作的 为此 我想编写一个简单的程序 将返回地址的地址更改为某个值 有人可以帮助我计算基指针的大小以获得第一个参数的偏移量吗 void foo void char ret char pt
  • C# 帮助:在 C# 中对对象列表进行排序 [重复]

    这个问题在这里已经有答案了 可能的重复 使用预定义的排序值列表对对象进行排序 https stackoverflow com questions 652337 sort objects using predefined list of so
  • 根据求解器的决定执行 get-model 或 unsat-core

    我想知道 SMT LIB 2 0 脚本中是否有可能访问求解器的最后一个可满足性决策 sat unsat 例如 以下代码 set option produce unsat cores true set option produce model
  • 选择树形布局中子节点的所有路径和父节点

    我正在跟进this http bl ocks org d3noob 8375092学习 d3 js 树布局的教程 我正在研究它 单击子节点时 我尝试选择所有祖先节点以及连接它们的路径 我已经更改了默认值click教程中的函数看起来像这样 f
  • jQuery - jQGrid - 展开、折叠网格行上的子网格单击

    Here https stackoverflow com questions 3345401有一个关于当我们单击一行时如何扩展子网格的答案 onSelectRow function rowId jqgrid id expandSubGrid
  • 我应该检查什么:cpu 时间还是 wall time?

    我有两种算法来完成相同的任务 要检查它们的性能 我应该检查什么 cpu 时间还是 wall time 我认为这是CPU时间 对吗 我正在对我的代码进行并行处理 要检查我的并行性能 我应该检查什么 cpu 时间还是 wall time 我想现
  • 使用.Net检测灰度图像

    我正在将文档扫描为 JPG 图像 扫描仪必须将所有页面扫描为彩色或将所有页面扫描为黑白 由于我的许多页面都是彩色的 因此我必须将所有页面扫描为彩色 扫描完成后 我想使用 Net 检查图像并尝试检测哪些图像是黑白的 以便我可以将这些图像转换为
  • 为什么这个 Java 程序会终止,尽管它显然不应该(也没有)终止?

    今天我实验室的一项敏感操作完全出错了 电子显微镜上的执行器超出了其边界 在发生一系列事件后 我损失了 1200 万美元的设备 我已将故障模块中超过 40K 行的范围缩小为 import java util class A static Po
  • GTK+ (2.0) - GtkEntry 上的“点击”信号?

    我正在使用 GTK 2 0 测试一些信号 我正在寻找一种在单击 GtkEntry 时发出信号的方法 if widgets info i action IG INPUT widget gt frame i gtk entry new with
  • 使用 SimpleAudioEngine 按顺序播放声音

    我正在使用 cocos2d 2 构建一个 iOS 应用程序 并使用 SimpleAudioEngine 来播放一些效果 有没有办法在前一个声音完成后按顺序播放多个声音 例如在我的代码中 SimpleAudioEngine sharedEng
  • scala 代码导致 eclipse 中的 playframework-2.0 错误

    我正在尝试todolist tutorial of playframework 2 0在日食 Ieclipsified代码并导入它 以便eclipse helios 可以正确检测到 play api 但是我遇到了问题scala part 我
  • 将自定义对象存储在 NSUserDefaults 的 NSMutableArray 中

    我最近尝试将 iPhone 应用程序的搜索结果存储在 NSUserDefaults 集合中 我还使用它来成功保存用户注册信息 但由于某种原因 尝试存储自定义位置类的 NSMutableArray 总是返回空 我尝试将 NSMutableAr
  • PDFBox setValue 后的 PDTextField 自动调整大小行为不一致

    我正在使用 Apache PDFBox 进行配置PDTextField位于我加载的 PDF 文档上Lato使用以下命令添加到文档中 font PDType0Font load j pd document java io FileInputS
  • 在 emacs 中使用 url elisp 包创建 POST:utf-8 问题

    我目前正在创建一个 Rest 客户端 用于本着 Pastie el 的精神制作博客文章 我的主要目标是在 emacs 中编写一个 Textile 并在 Rails 应用程序中发布一个帖子来创建它 它工作正常 直到我用西班牙语或日语输入任何内
  • Python导入错误:没有名为Fabric.api的模块?

    我收到以下错误 Traceback most recent call last File drayd py line 2 in
  • 如何衡量网页的响应和加载时间?

    我需要构建一个 Windows 窗体应用程序来测量完全加载网页所需的时间 最好的方法是什么 这个小应用程序的目的是按照预定的时间间隔监视网站中的某些页面 以便能够事先知道网络服务器或数据库服务器是否出现问题 附加信息 我无法使用商业应用程序