学习性能第二天,前端性能测试

174 阅读2分钟

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性能