Skip to content

Daily

更新: 5/9/2025 字数: 0 字 时长: 0 分钟

Daily Plan

#todo

  • [ ]

Daily Study

面试中回答碰到的最难的问题

#暑期实习

场景:在创新文章平台开发中,基本微服务开发完毕后,利用wrk进行压测的过程中,发现文章相关的微服务cpu占用异常。

任务:在排查异常和解决异常中收获很大

具体操作:主要是利用pprof工具,首先用pprof top查看微服务资源占用情况,找到cpu占用较高的调用,这里是文章微服务中根据redis文章排行榜取具体文章的相关函数,然后通过pprof list这个函数,可以看到问题具体的代码位置,然后对代码进行分析,然后使用ppro web,结合树状资源图,最终具体确定到是由于该函数中取文章的循环操作,该循环操作根据排行榜一次性取全部文章的信息,并且是每一次遍历取,导致CPU占用异常。

解决办法:对取具体文章的过程进行优化,首先分析用户一般只会访问前几页,因此我们只取页大小20 * 5,前100个文章的信息,同时在取的时候不再使用单循环,而是用了go-zero中自带的mapreduce操作,其中reduce是规约。map是合并的含义,然后能够并发的来执行文章信息的获取。最终结果cpu占用下降了15%

Daily Problem

菜就多练

本站访客数 人次 本站总访问量