我想在我的测试网络应用中测量文档的加载时间。我已经使用了JMeter,但每次运行都会得到不同的值。我在摘要报告中测量平均时间。
我不确定,该值是否合适。这种方法是正确的还是有任何插件JMeter可用?
我使用HTTP watch来获取渲染时间,但我不能将该工具用于超过1个用户(负载测试)。我正在使用JMeter 2.13。你能帮帮我吗?
答案 0 :(得分:5)
借助汇总报告或csv / xml结果,您可获得有关响应时间的必要信息但
如果您还需要在响应时间中包含渲染时间,请使用工具,如loadrunner(商业),selenium(开源)等。我个人认为客户端呈现不是一个可衡量的值,除非访问该应用程序的所有用户具有相同的硬件,软件和网络访问配置。但是,当JMeter测试以高峰负载运行到系统时,使用各种浏览器手动浏览站点,并且在开发人员工具的帮助下,您可以找到渲染时间。
答案 1 :(得分:3)
我怀疑你是否能够获得2个完全相同的测试运行结果,总是会出现由底层硬件和软件实现引起的某种形式的波动。你应该收到类似的结果和一些统计噪音。
如果不是这种情况,您的JMeter测试可能配置错误。从“真实性”的角度来看,请注意以下配置:
答案 2 :(得分:2)
当您使用直接HTTP协议层虚拟用户时,独立于工具(Jmeter,LoadRunner,SOASTA,Grinder,...),那么您将要定时的是来自服务器的请求/响应信息来自JavaScript客户端本地处理的低着色以及屏幕上的最终"绘图"这是渲染。
直到服务器因请求数量或网络限制而降级的程度,您可以调整的唯一区域是页面架构,如果您在部署之前等待最后100码,那么您就是可能有麻烦。
史蒂夫·索德斯(Steve Souders)在他的书籍和#34;高性能网站"中已经写了很多关于页面架构主题的文章。和相关的工作。简而言之,经验法则归结为更少的请求,更小的响应以及从最近的可能位置向客户端提供数据。这些具有最小化网络客户端(网络)的最昂贵的有限资源的效果。例如,浏览器精灵减少了图像调用次数,缩小和压缩减少了传输的大小,CDN将跳转到请求项目的数量更改为更靠近终端客户端的位置。
为了影响页面架构的更改,您需要向上游移动到开发周期和功能测试周期。您需要使用开发来实现硬门,其中代码/页面无法在未事先通过与设计相关的性能门的情况下提交给项目。您的开发团队和功能测试成员需要尊重这些大门。至于门应该是什么,我建议你回到Souders先生的作品,作为构建门规则的重要数据来源。
这使你达到"适用于一个人的水平:一个人的表现。"然后,您可以将其用作已知商品,以回答与服务器可伸缩性相关的问题,并且此时从请求开始的客户端服务开始降级。如果您的组织中有CDN,请确保在您的测试模型中考虑到这一点,如果不这样做,那么您将使服务器与生产重载。
至于"渲染的实际速度"或画在屏幕上?您需要购买更快的视频卡,禁止浏览器制造商进行更改。加速JavaScript?确保您的所有JavaScript尽可能小和精简。让您的功能测试团队在非常脏的浏览器上进行测试,这些浏览器包含大量插件以及低功耗硬件,以便最大限度地消除规范响应。如果您需要从客户端(浏览器/操作系统/某些硬件)查看标准硬件模型的外观,则可以处理HTTP请求日志中的数据,特别是与客户端配置信息相关的用户代理。