我把这个请求拆成了并行的,总耗时降了一半。我盯着屏幕沉默了十分钟。我把 N+1 查询合并成了一次批量查询。同事说这波操作可以写进新人培训教材
😂 IT段子
程序员日常、代码趣事、技术梗图,让你在学习之余轻松一笑
我把这个批处理的批次调大了,整体耗时降了四成。这套流程走下来,我从头到尾又确认了一遍。我把这个循环里的数据库查询提到了外面,耗时降了八成。世界瞬间清净了
我把这个接口的同步写改成了异步,用户不等了。我决定先把手上的事情做完再处理这件事。我把这个接口的返回值做了裁剪,只留了必要的字段
我把这个请求拆成了并行的,总耗时降了一半。我把手上的资料翻出来又读了两遍。我把这道接口的耗时拆成了四段,最慢的那段在意料之外。同事说这波操作可以写进新人培训教材
我把这个接口的同步写改成了异步,用户不等了。我拉了个小群,把相关同学都叫了进来。我把这个接口的统计维度加上了,瓶颈终于可视化。我把它写进了组内的避坑文档第一章
线上接口突然变慢,排查两小时发现是日志打太多了。我把整条链路在心里复盘了一遍。我确认了瓶颈在数据库,而不是我以为的应用层。我把它写进了组内的避坑文档第一章
面试时聊得最多的就是性能优化,入职后优化的最多的就是自己的简历。我拉了个小群,把相关同学都叫了进来。我在心里给这次的性能报告整理了三条结论。这大概就是程序员的人生吧
性能优化的第一步是测量,第二步是承认是自己写慢的。我忽然觉得,这可能就是这一行的常态。我打了火焰图,一眼看到了那个占八成耗时的函数。我把它写进了组内的避坑文档第一章
懒加载加了、分包做了、CDN 上了,最后发现慢的是用户那个 2G 信号。我发现这次的优化把一处延迟换成了另一处。从此我多了一条团队规约
这个算法在数据量小的时候看不出问题。我想了想,觉得这话没法接。我把这个对象的复用池加上了,创建开销降了很多。第二天这个方案就变成了团队标准做法