Web前端性能:
\
页面+ 接口:
\
\
打开网页:appfront.huice.com/
\
\
Blocked时间: 阻塞时间,
\
先找本地资源,本地资源有(不会消耗资源),就不会去网络上找,如果本地不存在,就需要去找,此时
Blocked时间,可以忽略
\
Connect time: TCP/IP三次握手时间,
长连接: 打开页面打开连接,一般都是长连接,web服务器的参数设置(Nginx设置Connection)
Response Headers : 响应头
Request Headers: 请求头
Web项目(静态资源)
短连接: 建立连接发送请求,发送完,断掉
接口
针对静态资源,模拟浏览器真实请求 all
Jmeter:可以设置多路下载(模拟浏览器6个连接)
Loadrunner11: 最大是2个连接
Loadrunner12: 最大默认6个
Locust: 1 个
\
Send时间:
取决于向服务器端发送数据量的大小
GET请求 - 小 POST请求- 大
\
Waiting时间:
等待服务器处理
\
TTFB :
连接开始,到服务器向客户端返回第一个字节Byte(第一个buffer)的时间
Time To First Buffer
价值: 衡量网络和服务器的灵敏度
TTFB=Connect+Send+Waitting+第一个字节返回时间
TTFB = Server时间+网络时间
\
Receive时间: 下载时间(文件大小,带宽,是否开启亚压缩)
下载一个文档: 大小100M
两种下载策略:
1、 压缩--》下载--》解压缩 文本文件 100M -->10M 多媒体MP4压缩 没用 所以会慢
2、 直接下载
\
是否开启压缩,根据文件类型设置规则
开启: 文本类资源(html,js,css)
不开启: 多媒体, 图片
\
\
响应时间 = TTFB + Receive
\
\
\
查看前端性能,以及优化: firfox 中的yslow, chrome 的 lighthouse
\
\
分析页面资源性能:
资源的大小
响应时间
\
tinypng 网站可以无损压缩图片
\
页面核心的性能问题:JavaScript执行性能
Dynatrace Ajax Edition(基于虚拟机学习使用),js核心性能评估
\
\
全链路监控工具: SkyWalking 也可以监控前端(生产环境可用)
\
压测之前:
1、 借助于类似yslow工具出具前端性能分析报告
2、 基于Loadrunner分析前端页面性能
3、 基于Dynatrace Ajax Edition分析前端js性能