项目地址:https://github.com/pod4g/hiper 欢迎大家使用和star

介绍

我们开发完一个项目或者给一个项目做完性能优化以后,如何来衡量这个项目的性能是否达标?我们的常见方式是在Dev Tool中的performance和network中看数据,记录下几个关键的性能指标,然后刷新几次再看这些性能指标, 有时候我们发现,由于样本太少,受当前「网络」、「CPU」、「内存」的繁忙程度的影响很重,有时优化后的项目反而比优化前更慢。如果有一个工具,一次性地请求N次网页,然后把各个性能指标取出来求平均值,我们就能非常准确地知道这个优化是「正优化」还是「负优化」。并且,也可以做对比,拿到「具体优化了多少」的准确数据。这个工具就是为了解决这个痛点的。

同时,这个工具也是学习「浏览器加载渲染网页过程」和「性能优化」的一个利器,因此我们也可以把他作为一个强大的学习辅助工具,不至于让我们在样本过少的情况下得到错误的结论。

安装

# install
npm i hiper -g# or
yarn global add hiper
复制代码

使用

hiper --helpUsage: hiper [options] [url]? A statistical analysis tool for performance testingOptions:-v, --version                output the version number-n, --count <n>              指定加载次数(default: 20)-c, --config <path>          载入配置文件-u, --useragent <ua>         设置useragent-H, --headless [b]           是否使用无头模式(default: true)-e, --executablePath <path>  使用指定的chrome浏览器--no-cache                   禁用缓存(default: false)--no-javascript              禁用javascript(default: false)--no-online                  离线模式(defalut: false)-h, --help                   output usage information
复制代码

用例

  1. 最简单的方式
hiper baidu.com
复制代码
  1. 指定加载次数
# 加载baidu.com 100次
hiper -n 100 baidu.com
复制代码
  1. 禁用缓存
hiper -n 100 baidu.com --no-cache
复制代码

配置

{// options 指向指定的chrome可执行程序,一般不用这项配置,除非你想测试特定版本的chrome"executablePath": "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome",// required 测试的url"url": "http://www.didichuxing.com",// options 本次测试所需要的cookie。一般是登录信息的cookie。 Array | Object"cookies": [{"name": "token","value": "9+cL224Xh6VuRT","domain": "example.com","path": "/","size": 294,"httpOnly": true}],// options default: 20 测试次数"count": 100,// options default: true 是否使用无头模式 "headless": true,// options default: false 是否禁用cache "noCache": false,// options default: false 是否禁用javascript"noJavascript": false,// options default: false 是否离线"noOnline": false,// options 设置useragent信息"useragent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.181 Safari/537.36",// options 设置viewport信息"viewport": {// options 视口宽度"width": 375,// options 视口高度"height": 812,// options default: 1 devicePixelRatio"deviceScaleFactor": 3,// options default: false 是否模拟成mobile"isMobile": false,// options default: false 是否支持touch事件"hasTouch": false,// options default: false 是否是横屏"isLandscape": false}
}
复制代码
# 载入上述配置文件
hiper -c /home/config.json
复制代码

输出

转载于:https://juejin.im/post/5b14fd8551882513ea5cb1cd

真•业界第一个性能统计分析框架 -- Hiper相关推荐

  1. 令人愉悦的性能统计分析工具-hiper 【发个copy】

    Hiper · �� A statistical analysis tool for performance testing 令人愉悦的性能统计分析工具 The name is short for H ...

  2. 科技新品 | 飞利浦新型便携式投影仪;Amazfit三款全新智能手表;SK海力士业界第一款HBM3 DRAM...

    "科技新产品动态"栏目把新鲜的具有代表性的科学产品带到您眼前,涉及消费电子,半导体.服务器.智能家电等众多品类,提供图片和简单的文字介绍. 飞利浦推出两款新型便携式投影仪:卡西欧宣 ...

  3. maven netty 配置_Netty是业界最流行的NIO框架之一:初识Netty

    为什么使用Netty Netty是业界最流行的NIO框架之一,它的健壮性.功能.性能.可定制性.可扩展性在同类框架中都是首屈一指的,它已经得到了成百上千的商用项目的证明.对于为什么使用Netty这个话 ...

  4. 国产GPU添新玩家,AMD出身,两款业界第一7nm芯片曾由他打造

    金磊 发自 凹非寺 量子位 | 公众号 QbitAI 他在现场只是播放了一张的演讲内容. 竟引得众人不约而同,纷纷高举手机拍照,会场更是掌声不断. 他叫钱军,很多人熟知这个名字,是因为他曾在AMD担任 ...

  5. 华为云推出业界首个基于ARM框架的云手机解决方案

    华为云推出业界首个基于ARM框架的云手机解决方案 在手机已经普及到千家万户的时代,人们对手机应用的诉求日益提升.为此,华为云推出了云手机. 华为云云手机提供基于云的虚拟仿真手机服务,将手机上的应用转移 ...

  6. 绝地求生玩什么服务器最快,【真国服第一!《绝地求生》国服采用超性能服务器任何宽带都畅玩】...

    原标题:[真国服第一!<绝地求生>国服采用超性能服务器任何宽带都畅玩] 昨晚<绝地求生>国服官博发文表示,<绝地求生>国服将采用超性能服务器,帮助玩家的体验更加快速 ...

  7. Python 优化第一步: 性能分析实践 使用cporfile+gprof2dot可视化

    拿来主义: python -m cProfile -o profile.pstats to_profile.py gprof2dot -f pstats profile.pstats |dot -Tp ...

  8. 第一章 自定义MVC框架

    第一章  自定义MVC框架 1.1 MVC模式设计     组成:Model:模型,用于数据和业务的处理           View :视图,用于数据的显示           Controller ...

  9. 美团性能分析框架和性能监控平台

    2019独角兽企业重金招聘Python工程师标准>>> 美团性能分析框架和性能监控平台 美团的性能小组在过去1年的时间,成功将项目详情页.首页.搜索和筛选页的加载时间从10秒左右降到 ...

最新文章

  1. 博客园HTML源码运行特制js(原创自Zjmainstay)
  2. inject 响应式_vue 的 provide 和 inject 依赖注入与 $parent
  3. 【Android开发】Android 删除指定文件和文件夹
  4. redis linux 文件位置,Linux下Redis的安装和部署
  5. os引导程序boot从扇区拷贝os加载程序loader文件到内存(boot copy kernel to mem in the same method)
  6. 纪事日记–可自定义的数据存储
  7. 【机器学习-数据科学】第一节:numpypandas
  8. Java三大框架之——Hibernate关联映射与级联操作
  9. php5.4漏洞解决,php5.4.3的远程代码执行漏洞,提权挺管用
  10. ADO.NET 之 一
  11. 栅格数据矢量化(附有完整代码)
  12. 【数字IC验证快速入门】4、熟悉数字IC验证中常用的Linux基本操作
  13. R语言缺失值判断以及处理
  14. Oracle 数据库生成2022年节假日表SQL
  15. python matplotlib pColor 网格线 消除
  16. Qt编写自定义控件:带阴影、圆角、可拉伸的弹窗
  17. 如何才能成为一个程序员
  18. AI反网络诈骗白皮书发布:一场人工智能与电信网络诈骗结合的攻防战
  19. 【Pycharm教程】PyCharm 安装、卸载和升级包
  20. [20181015][模拟赛]

热门文章

  1. 模拟登录淘宝--Python
  2. matplotlib.pyplot.pie()绘制饼图
  3. 国内SRC网站,拿走不送
  4. docker 安装与初步使用
  5. Educoder_Web_简历表页面的制作
  6. 2073-三角形面积
  7. 《高等统计物理学》Cookbook(持续更新)
  8. c语言单元测试(cunit)打桩,如何写打桩文件
  9. 解读游戏“仙股”飞鱼科技年内涨幅超400%的逻辑
  10. 反射练习- 改变private成员变量的值