用 Chrome 来诊断前端页面性能

简介:

Chrome提供了所有主流浏览器中最强大的诊断页面性能的工具,我们这里就依照我们团队项目为例子,来介绍下这个工具的使用:


Timeline Check:

首先,我们去检查了载入首页的timeline,我测试了8次,平均下来,大概要花费我5.3秒的时间。

100527822.png

从这里我们可以看到以下结论:

(1)所有的资源文件,比如js文件,或者css文件,都是并行的加载的, 所以从timeline图上可以看出来,它们是同时发生的。也就是上图中所有小蓝色的圆点都同时开始的,当然那个蓝条有长短,因为各个资源文件有大小区别。

(2)Parsing 这个步骤花费了非常多的时间,它大概用了1.52秒:

100743986.png当我们深入细节之后,我们发现,它主要是用来解析/评测各个js文件,安装定时器,激活浏览器的垃圾回收事件等。

(3)另外一个消耗时间比较多的地方在于如下url:

test?p_p_id=envprovisioningportlet_WAR_envprovisioningportlet&p_p_lifecycle=2&p_p_state=normal&p_p_mode=view&p_p_resource_id=paginationRequestInfo&p_p_cacheability=cacheLevelPage&p_p_col_id=column1&p_p_col_count=1&_dc+1369363077815&start=0&limit=20&page=1

101219590.png

这是因为我们需要填充第一个grid,而且我们使用的是ajax,而ajax需要调用时间。


Profiler:

这个是专门用来分析页面访问低速度的工具。


首先,我们来检查CPU的执行时间:

我们看下所有的js的函数的执行,可以发现以下的函数占据了太多的CPU时间:

一个是app.js的第8行->Ext.application.launch 方法

101541188.png

一个是AEREnvGrid.js第8行->Ext.define.initComponent方法:

101659932.png


接下来我们来检查CSS选择器的选择时间:

经验告诉我们,类选择器,父子选择器总会比id选择器占据更多的时间,我们这里按照时间排序可以看出花费时间较多的都是这些选择器:

101833334.png


按照这样的思路,我们能很快的分析我们的代码中的大多数影响前端性能的问题。





本文转自 charles_wang888 51CTO博客,原文链接:http://blog.51cto.com/supercharles888/1212981,如需转载请自行联系原作者
目录
相关文章
|
14天前
|
机器学习/深度学习 前端开发 算法
利用深度学习技术提升前端图像处理性能
本文将探讨如何利用深度学习技术在前端图像处理中提升性能。通过结合深度学习算法和前端技术,我们可以实现更高效的图像处理功能,提升用户体验和系统性能。
|
15天前
|
前端开发 数据可视化 JavaScript
前端vite+vue3——可视化页面性能耗时指标(fmp、fp)
前端vite+vue3——可视化页面性能耗时指标(fmp、fp)
40 6
|
11天前
|
前端开发 Android开发 iOS开发
【Flutter前端技术开发专栏】Flutter在Android与iOS上的性能对比
【4月更文挑战第30天】Flutter 框架实现跨平台移动应用,通过一致的 UI 渲染(Skia 引擎)、热重载功能和响应式框架提高开发效率和用户体验。然而,Android 和 iOS 的系统差异、渲染机制及编译过程影响性能。性能对比显示,iOS 可能因硬件优化提供更流畅体验,而 Android 更具灵活性和广泛硬件支持。开发者可采用代码、资源优化和特定平台优化策略,利用性能分析工具提升应用性能。
【Flutter前端技术开发专栏】Flutter在Android与iOS上的性能对比
|
1天前
|
Web App开发 缓存 前端开发
【热门话题】实用Chrome命令:提升前端开发效率的利器
提升前端开发效率的Chrome命令详解:快速打开DevTools(F12或Ctrl+Shift+I/Cmd+Opt+I)、Console中直接运行JS、使用$和$$选择元素、监控事件、模拟设备、计算样式覆盖、网络请求过滤、性能分析、Sources面板调试与编辑、命令行快捷方式如chrome://flags。掌握这些技巧,加速开发流程。
13 3
|
12天前
|
机器学习/深度学习 前端开发 数据可视化
数据分析web可视化神器---streamlit框架,无需懂前端也能搭建出精美的web网站页面
数据分析web可视化神器---streamlit框架,无需懂前端也能搭建出精美的web网站页面
|
12天前
|
Web App开发 JavaScript 前端开发
【专栏】如何使用 Chrome DevTools 的断点功能提升前端调试效率, 花式打断点
【4月更文挑战第29天】本文介绍了如何使用 Chrome DevTools 的断点功能提升前端调试效率。从基本的行断点和函数断点,到更高级的条件断点、DOM 断点、XHR 断点和事件断点,以及代码注入断点,详细阐述了各种断点的设置和应用场景。通过断点调试实战案例,如异步操作、复杂逻辑和性能优化,展示断点在解决实际问题中的重要作用。掌握这些技巧能有效提高开发质量和效率。
|
12天前
|
前端开发 JavaScript UED
【专栏】前端开发中,为解决用户操作引发的性能问题,常使用debounce(防抖)和throttle(节流)技术
【4月更文挑战第29天】前端开发中,为解决用户操作引发的性能问题,常使用debounce(防抖)和throttle(节流)技术。Debounce确保在一段时间内只执行最后一次事件触发的操作,减少不必要的执行,但有滞后性,适合搜索框实时搜索。Throttle则保证一定时间间隔内函数执行一次,保持固定频率,适用于滚动事件处理和窗口大小调整。两者可借助JavaScript或第三方库实现,需根据场景和需求选择并调整。正确使用能提升应用性能和用户体验。
|
25天前
|
存储 前端开发 API
对象存储OSS产品常见问题之获取文件结构并在前端页面展示如何解决
对象存储OSS是基于互联网的数据存储服务模式,让用户可以安全、可靠地存储大量非结构化数据,如图片、音频、视频、文档等任意类型文件,并通过简单的基于HTTP/HTTPS协议的RESTful API接口进行访问和管理。本帖梳理了用户在实际使用中可能遇到的各种常见问题,涵盖了基础操作、性能优化、安全设置、费用管理、数据备份与恢复、跨区域同步、API接口调用等多个方面。
26 0
|
1月前
|
前端开发 JavaScript UED
如何优化前端网页性能提升用户体验
本文将探讨如何通过一系列前端优化技术,提高网页加载速度、减少资源请求次数,从而优化用户体验。我们将介绍一些常用的性能优化技巧,包括资源压缩、懒加载、CDN 加速等方法,帮助开发者更好地构建高效、流畅的前端网页。
|
2月前
|
Web App开发 SQL 前端开发
性能工具之前端分析工Chrome Developer Tools性能标签
【2月更文挑战第22天】性能工具之前端分析工Chrome Developer Tools性能标签
36 1
性能工具之前端分析工Chrome Developer Tools性能标签