如何通过一次生产问题的排查,深刻体会算法在其中的关键作用?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1489个文字,预计阅读时间需要6分钟。
在初期,客户反馈,PC端有一个功能页面,刚打开就卡死。通过查看网络请求,发现有一个部门组织架构树的请求数据量较大,共有2万条数据,约1.57MB。起初我以为这是表单中的部门选择功能。
前段时间,客户反馈,有个PC端的功能页面,一点开就卡死,通过查看网络请求,发现有个部门组织架构树的请求数据有点大,共有两万条数据,1.57M。刚开始我以为是表单中的部门选择框渲染的时候,一次性渲染的dom节点过多,把页面内存撑爆了。于是我把项目中使用的antd3的TreeSelect组件,升级到具有无限滚动加载功能的antd5版本,始终只渲染10条数据,按理说页面卡死的问题应该就消失了。结果页面操作几次之后,页面仍旧百分之百会崩掉, 页面卡死问题并未彻底解决。
于是我沉下心来,把出问题的页面的逻辑从头到尾看了一遍,发现有一处采用递归方式查找某个部门id在不在部门树之中的逻辑,可能存在性能问题。
本文共计1489个文字,预计阅读时间需要6分钟。
在初期,客户反馈,PC端有一个功能页面,刚打开就卡死。通过查看网络请求,发现有一个部门组织架构树的请求数据量较大,共有2万条数据,约1.57MB。起初我以为这是表单中的部门选择功能。
前段时间,客户反馈,有个PC端的功能页面,一点开就卡死,通过查看网络请求,发现有个部门组织架构树的请求数据有点大,共有两万条数据,1.57M。刚开始我以为是表单中的部门选择框渲染的时候,一次性渲染的dom节点过多,把页面内存撑爆了。于是我把项目中使用的antd3的TreeSelect组件,升级到具有无限滚动加载功能的antd5版本,始终只渲染10条数据,按理说页面卡死的问题应该就消失了。结果页面操作几次之后,页面仍旧百分之百会崩掉, 页面卡死问题并未彻底解决。
于是我沉下心来,把出问题的页面的逻辑从头到尾看了一遍,发现有一处采用递归方式查找某个部门id在不在部门树之中的逻辑,可能存在性能问题。

