首页 > 其他分享 >业务-页面卡顿问题总结

业务-页面卡顿问题总结

时间:2024-10-29 10:48:37浏览次数:5  
标签:总结 标签 内存 告警 推送 卡顿 页面

问题:

1、web3.1地图绘制1000个标签实时位置,每隔8~10S左右就会卡顿2S,间歇性地持续进行

2、在解决问题1之后,页面开始运行比较流畅,运行半小时后,页面逐渐卡死

 

定位思路:

问题1:通过chrome浏览器的performance功能,截取卡顿前后,发现JS引擎执行时间在卡顿时间段内占比很高,放大细节来看,有很多webSocket消息的接收及angular的检测;而绘制标签的频率在1S,当某段时间内有很多ws消息过来(和服务端确认过,所有标签活动状态消息在1~2S内推送完毕,可以达到千次量级,活动状态推送周期在10S),加上穿插着很多angular检测的执行,导致绘制标签的动作推迟,页面就形成了卡顿

 

问题2:在问题1解决之后,发现绘制页面开始运行时正常,一段时间(半小时左右)后页面逐渐卡顿,断点调试代码时,发现定时绘制标签所需要的时间慢慢大于1S,越到后面耗时越长;

一般来说,遇到此类问题第一感觉就会想到可能是内存在慢慢涨,导致指令的执行更耗时(至于为什么内存涨起来,指令执行更耗时这个解释不了,和计算机底层相关),等到内存积累到一定程度,代码任务积累到一定程度,就卡死了

顺着这个思路,发现页面上的标签低电量告警记录一直在增加,因为标签数量比较大(千级),服务端每次推送的告警数量在70左右,而且同一标签会重复推告警,造成告警记录占用内存一直再涨,把告警所占内存优化下,卡顿问题就解决了

 

经验:

1、和服务端交互时,WS的推送需要尽量的保持低频(不要超过10次/S),需要知道WS的接收也会引发angular的检测,如果WS频次太高或过于集中在一个时间段推送,会引发JS执行卡顿

2、后续在写业务代码时,不仅仅需要考虑功能的实现,也要督促自己从大量标签的角度考虑问题,如果有大量标签的情况,是否内存会越涨越多,是否会存在内存泄漏的现象

标签:总结,标签,内存,告警,推送,卡顿,页面
From: https://www.cnblogs.com/querybest/p/18512471

相关文章

  • 第七章利用CSS和多媒体美化页面
    7.1CSS链接的美化7.1.1.文字链接的美化在HTML5中,<a></a>标签始终定义超链接,用于从一张页面链接到另一张页面<a>元素最重要的属性是href属性,它指示链接的目标,如果未设置href属性,后续多个属性均无法使用,则只是超链接的占位符。<!DOCTYPEhtml><html> <head> <meta......
  • 2024.10&11 总结
    图论【LuoguP8428】Pastiri题目描述给定一棵\(N\)点的树,点编号为\(1\)到\(N\),现在在\(K\)个点上有羊,你的任务是在树上分配一些牧羊人。这些牧羊人很懒,只会看管离他最近的羊。当然如果有多个离他最近的羊,那么他会都看管。当然,牧羊人可以和羊在同一个点上,但这样牧羊......
  • 今日总结
    《程序员修炼之道:从小工到专家》读后感在繁忙的工作之余,我抽空阅读了《程序员修炼之道:从小工到专家》这本书。初看书名,我便被其深深吸引,因为它不仅揭示了一条程序员成长的道路,更似乎承诺了一种从平凡到卓越的蜕变。随着阅读的深入,我逐渐感受到了这本书所蕴含的深厚内涵与实用智慧......
  • 2024-2025-1 20231326 《计算机基础与程序设计》第四周总结
    2024-2025-120231326《计算机基础与程序设计》第四周总结目录2024-2025-120231326《计算机基础与程序设计》第四周总结课程答疑WSL2的安装问题作业中的问题作业格式问题AI工具的使用问题优秀作业课程答疑WSL2的安装问题如图所示,部分同学在WSL2中安装Ubuntu虚拟机时,报错err......
  • 10.9每日总结
    奇偶校验码 可以检错,不能纠错 通过在编码中增加一位校验位来使编码中1的个数为奇数(奇校验)或者为偶数(偶校验),从而使码距变为2。 海明码  可以检错和纠错  在数据位之间的特定位置上插入k个校验位,通过扩大码距来实现检错和纠错。 设数据位是n位,校验位是k位,则n和k必须......
  • 2024年10月新版Java面试八股文大总结!
    线程有哪几种状态。(1)NEW线程至今尚未启动(2)RUNNABLE线程正在 Java虚拟机中执行(3)BLOCKED受阻塞并等待获得同步代码块的锁(4)WAITING无限期地等待另一个线程来执行某一特定操作(5)TIMED_WAITING在指定的时间内等待另一个线程来执行某一特定操作(6)TERMINATED线程已退出注......
  • 苏教版科学四年级上册知识总结
    苏教版科学四年级上册知识总结第一课2.动物的分类?3.脊椎和脊柱?4.常见的脊椎动物和无脊椎动物?5.我国珍稀动物的种类及保护?第二课6.常见的鱼类及共同特征?7.鱼类的呼吸和运动?8.常见的鸟类及共同特征?第三课9.鸽子的正羽和绒羽的特征和作用?10.鸟类的喙和足的特点及作用?第......
  • 操作系统一些常见疑问总结
    操作系统的定义和特性:定义:操作系统是核心系统软件,负责计算机系统软件硬件资源的分配和使用;控制和协调并发活动;提供用户接口,使用户获得良好的工作环境;特性:并发共享不确定性什么是多道程序设计技术?试述多道程序运行的特征。多道程序设计技术是指同时把多个作业(程序)放入内存......
  • JavaWeb知识点总结 我的学习笔记
    JavaWeb我的学习笔记一、动态网页开发1.动态网页2.系统架构C/S架构B/S架构B/S与C/S的比较3.URL通信三要素4.Tomcat服务器二、Servlet1.Servlet简介2.Servlet快速入门入门样例执行原理3.Servlet的体系结构4.servlet的十大方法5.Servlet生命周期6.在web.xml中配置servl......
  • 修改PbootCMS的默认错误提示页面
    bootCMS默认的错误提示页面位于根目录 /core/template 文件夹下。在网站上线后,通常不需要默认的错误提示页面,可以通过修改 error.html 文件来定制404错误页面。同理,也可以修改后台添加内容成功后的提示页面。操作步骤修改404错误提示页面进入目录进入PbootCMS根目录下......