美文网首页
优化记录

优化记录

作者: 名字是乱打的 | 来源:发表于2021-01-27 21:14 被阅读0次

1.记一次接口优化

背景介绍

我们部门有个核心业务是资讯相关业务
资讯分为三个流程每个流程包含若干功能点

  • 撰写(新增,保存,提审,删除)
  • 审核(退回,保存,发布,发布并推送)
  • 发布(退回,保存,更新,再发布)

三个流程提供十多个功能点,每个功能点还包含有其他的流程,比如有些流程涉及调用外部AI接口进行关键词计算,同步到MQ进行消息推送,以及附件处理,文章关系处理等等.

恐怖的事情发生了

这么多功能点和流程竟然浓缩到了一个接口里面!!!
这就搞的整个流程代码大概一千五百多行,流程之间非常不清晰,大家也都只敢往里面加代码,不敢去除代码...久而久之这个接口流程就变得非常非常慢了,平均请求时间甚至达到了5秒,遇到特殊时候甚至会达到20秒

解决

发生了20多秒的请求后老板就忍无可忍了,发话让改了

直接说一下解决方案吧

  • 1.尽量减少sql查询次数
  • 2.优化数据结构 ---------某些可能用两次for循环遍历操作的,可以改变下数据结构,比如查了资讯列表和作者列表,赋值资讯里的作者名,可以变换为map(资讯id,资讯dto)形式
    eg:res是List<SecuritiesInfoSearchRespVo>,变成已uniqueCode为key其实体为value的map
res.stream().collect(Collectors.toMap(SecuritiesInfoSearchRespVo::getUniqueCode, Function.identity()));
  • 3.异步处理耗时操作-----部分时效不要求那么高,操作耗时又严重的可以提到异步任务里,比如我们这里的计算关键词要求传入正文给AI,然后AI返回相关的关键词,整个流程要1~2秒,这样的其实提到异步里就非常好,我们这里采用的是协程,用的就非常舒服

相关文章

  • iOS APP内存优化记录

    iOS APP内存优化记录iOS APP内存优化记录

  • 优化记录

    1.记一次接口优化 背景介绍 我们部门有个核心业务是资讯相关业务资讯分为三个流程每个流程包含若干功能点 撰写(新增...

  • iOS 直播间弹幕view 优化记录

    iPad 直播间弹幕优化记录 优化弹幕系统 创建过程优化 弹幕系统,使用的网上开源的弹幕控件 https://gi...

  • PDB文件详解

    REMARK 该记录用来记述结构优化的方法和相关统计数据。如用 Refmac进行结构优化,该记录将自动插入输出的P...

  • iOS优化记录

    原文摘自微信公众号。 UIGraphicsEndImageContext UIGraphicsBeginImage...

  • history优化记录

    这种方法详细记录了登录过系统的用户、IP 地址、shell 命令以及详细操作的时间。并将这些信息以文件的形式保存在...

  • Zxing优化记录

    前期有优化过zxing扫描,是在之前别人整合进来的基础上做的优化,这里就记录下,方便以后查看.在整合进入后结构如下...

  • 首页优化记录

    背景 作为一个新晋菜鸟,首次独立负责搭建一个新的应用,在本地开发的时候没有注意页面加载速度慢的问题,但是部署之后发...

  • Android优化记录

    --------- 1.RelativeLayout会让子View调用2次onMeasure,LinearLayo...

  • deepin优化记录

    字体渲染更好了。以前在Linux安装宋体、微软雅黑等Windows系统上常用的字体,直接使用会有很多问题,如字体过...

网友评论

      本文标题:优化记录

      本文链接:https://www.haomeiwen.com/subject/noyvgktx.html