`
suqing
  • 浏览: 186744 次
  • 性别: Icon_minigender_2
  • 来自: 杭州
社区版块
存档分类
最新评论

页面性能优化实例——内存

阅读更多

 

参考知识

先了解一些参考知识

不同浏览器对终止脚本执行有不同的判断标准:

IE监控脚本执行的语句和数量。当执行的语句的数量达到最大限定值,默认为500万,就会弹出终止脚本运行的对话框。

Firefox监测脚本运行的总时间。当超过预先设定的时间,默认为10秒,就会终止脚本运行的对话框。

Safari也是通过执行时间来检测脚本是否为长时间运行。默认超过设置为5秒,超时就会弹出终止脚本运行的对话框。

Chrome 1.0没有限制JavaScript允许执行的最长时间。当出现内存不足时进程就会崩溃。

Opera是唯一没有提供监测长时间运行脚本这种保护功能的浏览器,允许脚本持续执行直到完成。
如果看到终止脚本运行的对话框,这就表示JavaScript代码需要重构,或者有性能漏洞。

超过100ms的脚本执行时间的网页几乎肯定会让用户感觉运行速度过慢。

测试工具

根据chrome对js监测的特性,使用chrome的“后台管理工具”监测内存使用情况。

 

性能优化点

在升级KE到3.5.5后发现KE的性能问题:每次创建(create)后增加2个body click、和2个mousedown事件,并且增加一个右击菜单删除事件。

——也就是每切换一次详情,产生5个全页面事件。

导致每打开一次详情面板,就多绑定5个body事件。

如果用户停留在页面不停编辑,执行的函数会越来越多。

根据测试结果来看,是造成TC页面运行越来越慢,产生页面性能问题的主要原因。

在IE页面响应速度变慢比其他浏览器更明显(IE监控脚本执行的语句数量,脚本执行过多页面响应速度越慢)。

以下是在chrome下监测内存使用情况:

优化前

测试地址:http://

切换一次TC,重新加载一次KE。以每切换20次为单位测试。

去掉特殊场景(不正常)的测试结果(图中标红字段),每点击20次TC会增加6M左右的内存。

优化后

5个body事件的优化:

删除1个mousedown、1个click事件;

事件完成后unbind(remove)1个mousedown、1个click事件;

右击菜单删除事件,由绑定在body上改为KE内部;测试结果显示只在KE内调用1次。

测试地址:http:

每点击20次TC会增加1M左右的内存。比优化前减少83%。

优化结果

从两张趋势图来看:第二张图趋于平稳,点击20次内存增加6M减少为1M。比优化前减少83%。

参考资料

《高性能网站建设进阶指南:Web开发者性能优化最佳实践》

FPS:即帧 /秒(frames per second)的缩写,也称为帧速率。是指1秒钟时间里刷新的图片的帧数,也可以理解为图形处理器每秒钟能够刷新几次。

 

 

扩展阅读:

前端性能测试(一):CPU



 
前端性能测试(二):内存占用
  • 大小: 37.2 KB
分享到:
评论

相关推荐

    Android内核驱动——内存管理

    ### Android内核驱动——内存管理 #### 一、LowMemoryKiller概述 在Android系统中,内存管理是一项至关重要的任务,特别是在资源有限的移动设备上。为了确保系统的稳定性和响应速度,Android内核引入了一种名为`...

    Android-WaveLineView一款性能内存友好的录音波浪动画

    在性能优化方面,WaveLineView采用了高效的算法计算波浪的形状,并利用硬件加速特性,减少CPU的负担。同时,为了减少内存开销,WaveLineView在绘制过程中尽可能地重用和复用对象,避免频繁创建和销毁对象导致的内存...

    ASP论坛网站实例开发源码——MolyX BOARD 2.5.0 多语言标准版实例开发.zip

    9. **性能优化**:对于高访问量的论坛,性能优化至关重要。可能采用了缓存技术(如内存缓存、页面缓存)、数据库优化策略等手段来提升系统响应速度。 10. **错误处理与日志记录**:良好的错误处理机制可以帮助...

    IOS实例开发源码——自制超简易电子书,页码问题解决版.zip

    综上所述,这个实例项目涵盖了iOS开发中的多个核心概念,包括PDF处理、自定义UI设计、数据存储、多线程以及性能优化。对于想要学习或提升iOS开发技能的开发者来说,这是一个极好的实践案例。通过深入研究源代码,...

    ASP论坛网站实例开发源码——PHP生成HTML文本论坛实例开发.zip

    6. 性能优化:为了提高论坛的性能,PHP会采用缓存技术,如Memcached或Redis,将热门数据暂存于内存中,减少数据库查询。同时,通过生成HTML静态页面,减轻服务器压力,加快页面加载速度。 7. 响应式设计:现代论坛...

    PHP实例开发源码——SK电影伪静态缓存极速版 v1.1.zip

    【PHP实例开发源码——SK电影伪静态缓存极速版 v1.1.zip】这个压缩包文件是一个基于PHP的电影网站应用源码,版本为v1.1,专注于实现伪静态处理和缓存优化,旨在提供快速的用户体验。在本文中,我们将详细探讨这个...

    ASP实例开发源码——AnyPIM个人信息管理系统.zip

    综上所述,"ASP实例开发源码——AnyPIM个人信息管理系统"涵盖了许多Web开发的核心技术,包括服务器端脚本、数据库交互、安全性策略以及用户体验优化。对于学习和理解ASP编程,以及个人信息管理系统的设计与实现,这...

    PHP实例开发源码——查立得快搜系统(php+Mysql) v20210108.zip

    7. **性能监控与优化**:通过监控系统的性能指标,如查询时间、内存使用等,可以发现潜在的性能瓶颈,并针对性地进行优化。 综上所述,"PHP实例开发源码——查立得快搜系统(php+Mysql) v20210108.zip"是一个融合了...

    SQLServer2008查询性能优化 2/2

    《SQL Server 2008查询性能优化》通过大量实例,详细介绍了SQL Server数据库系统优化的各种方法和技巧。内容涵盖了数据库应用系统中各种性能瓶颈的表现形式及其发生的根源和解决方法,从硬件瓶颈到查询、索引设计...

    db2 性能优化--最新整理

    本文将详细介绍DB2性能优化的关键点之一——Pagesize与Bufferpool的调整策略,帮助读者更好地理解和掌握这些技术细节。 #### 二、Pagesize的重要性及调整策略 **Pagesize** 是指数据库中数据页的大小,它直接影响...

    PHP论坛社区类网站实例开发源码——webim插件 for UCHOME.zip

    3. 性能优化:考虑到大量用户同时在线聊天,可能需要优化数据库查询和内存使用,避免服务器负载过高。 通过这个【论坛社区]webim插件 for UCHOME_webim】,开发者不仅可以学习如何扩展和定制社区功能,还可以深入...

    ASP.NET实例开发源码——ImageWaterMark3.0缩略图水印组件.zip

    6. 性能优化:可能包含内存管理和缓存策略,以减少对服务器资源的占用。 文件名称列表中的132690165793364703可能是该组件的主程序文件或者包含源代码的文件。通过查看和分析这个文件,开发者可以学习到如何在实际...

    ASP网站实例开发源码——WAP站长论坛新闻系统(源码+数据库).zip

    这个压缩包“ASP网站实例开发源码——WAP站长论坛新闻系统(源码+数据库).zip”包含了用于创建一个WAP(Wireless Application Protocol,无线应用协议)论坛的新闻系统的完整源代码和数据库,这将对学习ASP编程和移动...

    安卓Android源码——转盘抽奖实例.zip

    8. **资源优化(Resource Optimization)**:为了提高应用性能,开发者可能会使用9-patch图片(.9.png)来减少图片内存占用,或者使用Vector Drawable来支持不同屏幕密度的设备。 9. **调试与测试(Debugging and ...

    SQL Server的内存为何不断增加

    标题提到的问题——"SQL Server的内存为何不断增加",实际上反映了数据库引擎在应对工作负荷时的内存优化策略。在Microsoft Windows NT或Windows 2000环境下,SQL Server默认的行为是尽可能多地获取内存,但又不导致...

    (虚拟内存管理)基于时钟策略的页面置换策略

    本文将重点介绍一种常见的页面置换算法——基于时钟策略的页面置换算法,并结合具体的项目实例进行详细解析。 #### 虚拟页式存储管理 虚拟页式存储管理是现代操作系统中普遍采用的一种虚拟内存管理方式。它将程序...

    SQLServer2008查询性能优化 1/2

    《SQL Server 2008查询性能优化》通过大量实例,详细介绍了SQL Server数据库系统优化的各种方法和技巧。内容涵盖了数据库应用系统中各种性能瓶颈的表现形式及其发生的根源和解决方法,从硬件瓶颈到查询、索引设计...

    ASP.NET源码——IP锁定程序实例源码.zip

    8. **性能优化**:在处理大量IP封锁时,可能需要考虑性能问题,例如使用缓存来存储黑名单,减少数据库查询次数,或者使用内存数据结构来快速查找IP。 9. **安全与隐私**:在实施IP封锁时,应遵循相关法律法规,尊重...

    RAW-OS实列之--内存管理

    raw-os实例之——内存管理(block)"这个文件,你可以深入了解RAW-OS如何具体实施这些概念,以及它可能的独特优化策略。如果你对RAW-OS内存管理的更多信息感兴趣,可以进一步联系提供资源的人获取更多资料。

    DB2性能调优入门教程

    本入门教程将围绕三个核心要素——内存、I/O和CPU,介绍DB2性能调优的基础知识。 首先,我们来看DB2性能概述。在数据库系统中,性能通常被描述为“魔法三角”,即内存、I/O和CPU的平衡。这三个方面共同决定了DB2的...

Global site tag (gtag.js) - Google Analytics