网站首页 > 技术文章 正文
性能测试一直是Web应用中非常受关注的部分。
目前人们对性能的关注还主要集中在服务端,大部分人在说到“性能测试”的时候,都会把重点放到服务端的性能测试和调优,也就是通过各种方法找到服务端的性能瓶颈并尝试对其进行调优。
实际上,对于web应用来说,除了考虑服务端在足够短的时间内返回页面数据之外,还可以从页面前端的角度来考虑性能测试和性能调优。
01前端性能测试目的
前端性能测试对象有:HTML、CSS、JS、AJAX等前端技术开发的Web页面,服务端数据返回、网络传输、页面渲染等都会影响用户浏览网页速度前端性能的指标有:白屏时间、首屏时间、用户可交互时间、总下载时间、DNS解析时间、TCP连接时间、HTTP请求时间、HTTP响应时间。
前端性能测试的目的是计算出包含页面渲染、网络传输以及服务器端解析等综合因素在内的加载时间指标,对该页面性能进行评估分析,找出影响性能的主要因素和瓶颈,并在此基础上,给出一定的优化建议和解决方案,从而提升用户体验。
尽管性能如此重要,但是在开发迭代过程中难免会有所忽视,性能会伴随产品的迭代而有所衰减。特别在移动端,网络一直是一个很大的瓶颈,并且页面越来越大、功能越来越复杂,因此需要一套性能监控系统来持续监控、评估、预警页面性能状况、发现瓶颈,指导优化工作的进行。
02前端性能测试工具介绍
目前,前端性能测试的执行工具有很多,比如:YSlow、PageSpeed、WebPagetest、OneAPM Browser Insight等等(摘自互联网)。
这些执行工具都很好使用,并且它们关注的性能点也有些不同,所以就有了将这些工具产生的数据都收集起来的工具showslow。通过部署和匹配showslow,可以实现将上述工具产生的数据收集并产生不错的报表,对三种常用前端测试工具进行简单介绍。
03YSlow
YSlow(解析为why slow)是雅虎基于网站优化规则推出的工具,可以帮助分析并优化网站性能。
雅虎网站优化规则在十几个方面为网站提出优化建议,包括尽可能的减少HTTP的请求数、使用 Gzip 压缩、将CSS样式放在页面的上方、将脚本移动到底部、减少DNS查询等十几条规则,YSlow 会根据这些规则分析测试网站并给出评级。
04PageSpeed
PageSpeed最初是Google内部用来改进网页设计的工具,它整合在Firefox的著名插件Firebug中。
网站管理员和网络开发人员可以使用PageSpeed 来评估他们网页的性能,并获得改进网页性能的建议。当用户运行PageSpeed时,可以立即获得如何改进网页载入速度的建议。PageSpeed能自动为用户优化图像,提供可以发布在网页上的压缩图片,它也能识别JavaScript和CSS载入问题,帮助开发者减少浏览者等待网页展示的时间。
05WebPagetest
WebPagetest是一款Web应用程序,它将一个URL以及一系列配置参数作为输入,并对那个URL运行性能测试
WebPagetest可配置参数的数量非常多,范围非常广。如果测试结果不只保存在个人的服务器上,就需要安装自己的WebPagetest实例,否则,就必须使用 WebPagetest的公开实例。可以选择任何一组网站地址来进行测试,每个地址都可以用一个或多个浏览器对其进行测试,同时可以指定连接速度以及运行测试的数量。
06性能测试平台搭建
ShowSlow是开源的前端性能监控系统,具有以下功能:
前端性能指标数据收集功能:ShowSlow支持通过YSlow、PageSpeed等第三方工具将性能数据上报给服务端完成收集
其服务器端提供了针对多达8种不同工具上报的数据收集器dommonster、dynatrace、events、har、metric、pagespeed、webpagetest、yslow
猜你喜欢
- 2025-07-06 为什么前端大佬都推荐用 performance.now() 而非 Date.now()?
- 2025-07-06 实战分享:邀请有礼产品怎么做?(邀请有礼活动)
- 2025-07-06 揭秘:视频播放网站如何精准记录用户观看进度
- 2025-07-06 第七篇 前端基础十问,看看你是否真的掌握扎实?
- 2025-07-06 下单预约送货时间功能设计及思路(预约送货怎么说)
- 2025-07-06 每天一个 Python 库:datetime 模块全攻略,时间操作太丝滑!
- 2025-07-06 前端代码更新,如何优雅地通知用户刷新页面?
- 2024-10-09 JS Date对象的妙用:如何更优雅的计算时间差?
- 2024-10-09 从零开始的前端请求之旅 从零开始学前端开发
- 2024-10-09 如何在上班时间利用终端控制台摸鱼??????
你 发表评论:
欢迎- 593℃几个Oracle空值处理函数 oracle处理null值的函数
- 586℃Oracle分析函数之Lag和Lead()使用
- 574℃0497-如何将Kerberos的CDH6.1从Oracle JDK 1.8迁移至OpenJDK 1.8
- 571℃Oracle数据库的单、多行函数 oracle执行多个sql语句
- 567℃Oracle 12c PDB迁移(一) oracle迁移到oceanbase
- 559℃【数据统计分析】详解Oracle分组函数之CUBE
- 546℃最佳实践 | 提效 47 倍,制造业生产 Oracle 迁移替换
- 540℃Oracle有哪些常见的函数? oracle中常用的函数
- 最近发表
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端react (48)
- 前端aes加密 (58)
- 前端脚手架 (56)
- 前端md5加密 (54)
- 前端路由 (61)
- 前端数组 (73)
- 前端js面试题 (50)
- 前端定时器 (59)
- 前端懒加载 (49)
- 前端获取当前时间 (50)
- Oracle RAC (73)
- oracle恢复 (76)
- oracle 删除表 (48)
- oracle 用户名 (74)
- oracle 工具 (55)
- oracle 内存 (50)
- oracle 导出表 (57)
- oracle 中文 (51)
- oracle的函数 (57)
- 前端调试 (52)
本文暂时没有评论,来添加一个吧(●'◡'●)