小猿日记(8) - 接口优化从13秒到3秒,我做了什么

举报
谙忆 发表于 2021/05/26 16:15:02 2021/05/26
【摘要】 口水记 由于以前的一些债务,某些接口是越来越慢,越来越慢。 最近做了一个新需求,其中有个接口的时间需要13秒。其实最开始是需要20多秒,后面优化了一下,就到13秒了。 但是13秒,这能忍嘛。尽管这个接口只有在用户第一次使用才会请求到(涉及到三个系统),但也忍不了啊,直接劝退一波不忠实用户。 只能是想办法,而且必须想办法。 首先想到的是把一些循环查询去掉。 说...

口水记

由于以前的一些债务,某些接口是越来越慢,越来越慢。

最近做了一个新需求,其中有个接口的时间需要13秒。其实最开始是需要20多秒,后面优化了一下,就到13秒了。

但是13秒,这能忍嘛。尽管这个接口只有在用户第一次使用才会请求到(涉及到三个系统),但也忍不了啊,直接劝退一波不忠实用户。

只能是想办法,而且必须想办法。

首先想到的是把一些循环查询去掉。

说干就干,先去看看三个系统的链路,究竟是哪个系统耗时比较久。

结果,其中最底层的系统花费了11秒,那结果稳了呀,把那个11秒优化了,不就ok。

继续往下看,方法中只能通过打日志来看了,究竟是哪个方法,哪行代码耗时。

涉及到9个方法,每个方法耗时1秒多点,这就很难办了,没有明显的短板了。

不方,找一个方法看代码,发现有的方法中有一些遍历,是在循环中去查询数据库,这就有一些办法了。

这里的循环内查询还有点悬机,那就是循环内的查询,是循环对象中json字符串中的某个key的value,虽然处理起来麻烦一点,但最后还是处理好了,空间换时间嘛,总归要处理的。

很快,优化完毕,结果并不理想,差不多优化了2秒左右,还需要8-9秒的时间。

代码中是没有可以优化的点了,因为都是删除、插入、修改,查询都没有,缓存自然不用去想了。

此时想到了另外一点,异步。

因为之前在另外一次优化中有用到异步&#x

文章来源: chenhx.blog.csdn.net,作者:谙忆,版权归原作者所有,如需转载,请联系作者。

原文链接:chenhx.blog.csdn.net/article/details/106343183

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。