一个接口从 200ms 优化到 20ms,感觉自己是全世界最强后端。我拉了个小群,把相关同学都叫了进来。我发现这个页面的加载瓶颈在一张没有压过的图上。这大概就是程序员的人生吧
😂 IT段子
程序员日常、代码趣事、技术梗图,让你在学习之余轻松一笑
首屏加载从五秒压到一秒,产品经理问我能不能再压到 0.5 秒,我看着他微笑不语。我先确认了一遍前置条件,再动手。我把这个接口的依赖调用改成了并行的,耗时砍半。真香定律准时生效
性能优化的第一步是测量,第二步是承认是自己写慢的。我愣了两秒,然后继续敲代码。我把这个接口的统计维度加上了,瓶颈终于可视化。果然现实比段子更精彩
一个接口从 200ms 优化到 20ms,感觉自己是全世界最强后端。我把这个接口的响应做了压缩,传输时间少了一半。我把这条经验写进了团队 wiki
加了缓存之后接口是快了,就是每次改数据都要跟缓存斗智斗勇。我决定先把手上的事情做完再处理这件事。我在心里给这次的压测结果核了一遍,数据可信。我把它写进了组内的避坑文档第一章
程序员的成就感来源排名:代码上线、性能优化、帮同事修好了打印机。我发现自己居然没法反驳。我把执行计划贴出来逐行分析,发现少了一个索引。感动,然后我学到了新的一课
面试时聊得最多的就是性能优化,入职后优化的最多的就是自己的简历。我重新看了一遍手上的计划,把风险项标了出来。我确认了瓶颈在数据库,而不是我以为的应用层
我把这个接口的同步写改成了异步,用户不等了。我重新看了一遍手上的计划,把风险项标了出来。我把这个索引重建了一遍,查询终于回到毫秒级。从此我多了一条团队规约
我把这个批处理的批次调大了,整体耗时降了四成。我拉了个小群,把相关同学都叫了进来。我把这个接口做成了异步处理,用户不等了。感动,然后我学到了新的一课
性能问题的根因往往是架构而非代码。我发现这个缓存的过期时间设得太短,命中率很低。这条经验值直接拉满