真•业界第一个性能统计分析框架 -- Hiper
项目地址: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
复制代码
用例
- 最简单的方式
hiper baidu.com
复制代码
- 指定加载次数
# 加载baidu.com 100次
hiper -n 100 baidu.com
复制代码
- 禁用缓存
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相关推荐
- 令人愉悦的性能统计分析工具-hiper 【发个copy】
Hiper · �� A statistical analysis tool for performance testing 令人愉悦的性能统计分析工具 The name is short for H ...
- 科技新品 | 飞利浦新型便携式投影仪;Amazfit三款全新智能手表;SK海力士业界第一款HBM3 DRAM...
"科技新产品动态"栏目把新鲜的具有代表性的科学产品带到您眼前,涉及消费电子,半导体.服务器.智能家电等众多品类,提供图片和简单的文字介绍. 飞利浦推出两款新型便携式投影仪:卡西欧宣 ...
- maven netty 配置_Netty是业界最流行的NIO框架之一:初识Netty
为什么使用Netty Netty是业界最流行的NIO框架之一,它的健壮性.功能.性能.可定制性.可扩展性在同类框架中都是首屈一指的,它已经得到了成百上千的商用项目的证明.对于为什么使用Netty这个话 ...
- 国产GPU添新玩家,AMD出身,两款业界第一7nm芯片曾由他打造
金磊 发自 凹非寺 量子位 | 公众号 QbitAI 他在现场只是播放了一张的演讲内容. 竟引得众人不约而同,纷纷高举手机拍照,会场更是掌声不断. 他叫钱军,很多人熟知这个名字,是因为他曾在AMD担任 ...
- 华为云推出业界首个基于ARM框架的云手机解决方案
华为云推出业界首个基于ARM框架的云手机解决方案 在手机已经普及到千家万户的时代,人们对手机应用的诉求日益提升.为此,华为云推出了云手机. 华为云云手机提供基于云的虚拟仿真手机服务,将手机上的应用转移 ...
- 绝地求生玩什么服务器最快,【真国服第一!《绝地求生》国服采用超性能服务器任何宽带都畅玩】...
原标题:[真国服第一!<绝地求生>国服采用超性能服务器任何宽带都畅玩] 昨晚<绝地求生>国服官博发文表示,<绝地求生>国服将采用超性能服务器,帮助玩家的体验更加快速 ...
- Python 优化第一步: 性能分析实践 使用cporfile+gprof2dot可视化
拿来主义: python -m cProfile -o profile.pstats to_profile.py gprof2dot -f pstats profile.pstats |dot -Tp ...
- 第一章 自定义MVC框架
第一章 自定义MVC框架 1.1 MVC模式设计 组成:Model:模型,用于数据和业务的处理 View :视图,用于数据的显示 Controller ...
- 美团性能分析框架和性能监控平台
2019独角兽企业重金招聘Python工程师标准>>> 美团性能分析框架和性能监控平台 美团的性能小组在过去1年的时间,成功将项目详情页.首页.搜索和筛选页的加载时间从10秒左右降到 ...
最新文章
- 博客园HTML源码运行特制js(原创自Zjmainstay)
- inject 响应式_vue 的 provide 和 inject 依赖注入与 $parent
- 【Android开发】Android 删除指定文件和文件夹
- redis linux 文件位置,Linux下Redis的安装和部署
- os引导程序boot从扇区拷贝os加载程序loader文件到内存(boot copy kernel to mem in the same method)
- 纪事日记–可自定义的数据存储
- 【机器学习-数据科学】第一节:numpypandas
- Java三大框架之——Hibernate关联映射与级联操作
- php5.4漏洞解决,php5.4.3的远程代码执行漏洞,提权挺管用
- ADO.NET 之 一
- 栅格数据矢量化(附有完整代码)
- 【数字IC验证快速入门】4、熟悉数字IC验证中常用的Linux基本操作
- R语言缺失值判断以及处理
- Oracle 数据库生成2022年节假日表SQL
- python matplotlib pColor 网格线 消除
- Qt编写自定义控件:带阴影、圆角、可拉伸的弹窗
- 如何才能成为一个程序员
- AI反网络诈骗白皮书发布:一场人工智能与电信网络诈骗结合的攻防战
- 【Pycharm教程】PyCharm 安装、卸载和升级包
- [20181015][模拟赛]