Page Detailer Pro

页面性能测试工具
授权协议 未知
开发语言 C/C++
所属分类 开发工具、 性能测试和优化
软件类型 开源软件
地区 不详
投 递 者 闻人高卓
操作系统 Windows
开源组织
适用人群 未知
 软件概览

Page Detailer Pro 是 IBM alphaworks 提供的一个工具。它是一款用来记录浏览器 HTTP 请求的软件,它通过在客户端的 Windows 端口堆栈中插入探针(Probe)来获取记录浏览器发起的 HTTP 请求的各种类型的数据。

图 1 是一个 Page Detailer 记录的截图。浅蓝色标注部分是后加的,由上图示可知:

  1. 页面尺寸。这儿的页面尺寸只包含资源本身的尺寸,不包含 HTTP 头及其他协议栈的头尺寸。当然,PageDetailer 也提供总下载尺寸的数据。
  2. HTTP 请求数。
  3. 单个资源下载时间。这整个条形代表单个资源下载的总时间,包含建立网络连接的时间,发送 HTTP 请求的时间,接收 HTTP 响应的时间,网路传输整个资源的时间。
  4. 浏览器发出请求头到接收到响应头的时间。PageDetailer 只提供这个时间,但事实上网络监听工具可以提供记录更细粒度的时间。比如:HTTP 请求的发送时间,等待服务器响应的时间,接受 HTTP 响应头的时间。由于在局域网里,接受发送头的时间极短,所以这个时间可以认为就是服务器的响应时间。在这个图示中,把所有蓝色条形代表的时间相加就是服务 器消耗的时间,去除重叠部分后才是服务器响应时间。注意,服务器消耗的时间不等于服务器响应的时间,这里也有一个并发度的问题。
  5. 网络传输时间。只是有关浏览器从开始接收这个资源的内容到接受结束所化的时间。一般的来说,它就是资源尺寸 / 带宽。但如果服务器或浏览器是以流的方式处理这个资源的话,那它还包含浏览器或服务器的处理时间。
  6. 浏览器渲染时间。在任意两个资源下载中的间隔时间就是浏览器的渲染时间。注意:即使是在资源下载是,浏览器也可能在进行渲染。不过这些消 耗,无法用间隔时间的方法判断。一般的来说,这部分时间是比较有限的并且倾向于忽略。
  7. 资源下载之间没有重叠,这说明这些下载之间没有并发。
  8. 资源下载之间有重叠,这说明这些下载之间有并发。

那么并发度怎么计算?一个简化的方法就是:

并发度 = 单个资源下载时间之和 / (页面下载时间 – 浏览器渲染时间)

简化的前提是:

  • 在局域网内,网络延迟很低。
  • 服务器响应很快。
  • 服务器端,浏览器端没有流式处理,或很快

当然,在这里只是介绍了一下计算并发度的原理。基于这个原理,可以编写相应的程序读取 PageDetailer 或其他网络监听程序 (比如 WireShark) 的数据来自动计算并发度。

 相关资料
  • 目录 http_load webbench ab siege http_load 程序非常小,解压后也不到100K http_load以并行复用的方式运行,用以测试web服务器的吞吐量与负载。 但是它不同于大多数压力测试工具,它可以以一个单一的进程运行,一般不会把客户机搞死。 还可以测试HTTPS类的网站请求。 下载地址:http_load-12mar2006.tar.gz 安装很简单 tar z

  • 性能测试应该有两个方向: 单接口压力测试 生产环境模拟用户操作高压力测试 生产环境模拟测试,目前我们都是交给公司的 QA 团队专门完成的。这块我只能粗略列举一下: 获取 1000 用户以上生产用户的访问日志(统计学要求 1000 是最小集合) 计算指定时间内(例如 10 分钟),所有接口的触发频率 使用测试工具(loadrunner, jmeter 等)模拟用户请求接口 适当放大压力,就可以模拟

  • 目标 对ShardingSphere-JDBC,ShardingSphere-Proxy及MySQL进行性能对比。从业务角度考虑,在基本应用场景(单路由,主从+加密+分库分表,全路由)下,INSERT+UPDATE+DELETE通常用作一个完整的关联操作,用于性能评估,而SELECT关注分片优化可用作性能评估的另一个操作;而主从模式下,可将INSERT+SELECT+DELETE作为一组评估性能的

  • go1.6.2 linux/amd64 Ubuntu 16.04 amd64 虚拟机 2 个处理器核心 2 GB 内存 并行测试 BenchmarkParallelHprose2-2 200000 9239 ns/op 789 B/op 25 allocs/op BenchmarkParallelHprose2Unix-2

  • 这次的页面测试就没啥难度了吧, 先强制登出 http://192.168.72.102:8080/nutzbook/user/logout 因为UserModule里面的logout方法已经删除,如果出现404,也只是shiro配置的问题了 一如既往,登陆, 成功后跳转到用户详情页 http://192.168.72.102:8080/nutzbook/user/login 访问用户列表页,

  • 一切就绪,请再仔细检查一下本章的修改,然后启动Tomcat, 首先的输出的日志将会发生变化 [INFO ] 20:33:09.574 org.apache.shiro.web.env.EnvironmentLoader.initEnvironment(EnvironmentLoader.java:128) - Starting Shiro environment initialization. [

  • 启动Tomcat, 如无异常, 应该能看到多个建表语句输出 2015-04-16 23:57:19,738 org.nutz.dao.impl.sql.run.NutDaoExecutor._runStatement(NutDaoExecutor.java:313) DEBUG - CREATE TABLE t_user( id INT(32) AUTO_INCREMENT, name VARCH

  • 又是一年一度的页面测试, 启动Tomcat,访问项目首页, 一如既往的登陆页面, 可以看到验证码出来了 http://127.0.0.1:8080/nutzbook/ 直接点击登陆或填写错误的验证码,会弹出提示"验证码错误" 一切正常的话, 自然就是登陆成功的提示,这个就不截图了. 可能出现的问题 某某类找不到, 看看是不是simplecaptcha版本太低之类的 总是验证码错误, 检查你的眼镜