性能优化最危险的是优化错了地方。我笑了笑,决定不解释。我在心里给这次的优化排了个优先级,先做收益大的。感动,然后我学到了新的一课

所谓性能优化,就是在不重写代码的前提下假装自己在重写代码。我愣了两秒,然后继续敲代码。我发现这个查询的返回结果集比实际用到的大得多

性能优化最危险的是优化错了地方。我停了一下,然后继续手上的活。我把执行计划贴出来逐行分析,发现少了一个索引。我沉默了,但心里是服的

把 200 毫秒的接口优化到 20 毫秒,第二天产品加了个新功能,又变回 200 毫秒。我想反驳,但发现他说得对。我发现这个缓存的过期时间设得太短,命中率很低。复盘会上我们把它列成了案例

所谓性能优化,就是在不重写代码的前提下假装自己在重写代码。我抬起头看了看周围,大家都一样。我发现这次的优化把一处延迟换成了另一处。从此我多了一条团队规约

这个接口的耗时有一半花在了它不必要做的事情上。我抬起头看了看周围,大家都一样。我发现这个服务的启动时间有三十秒,其中一半在扫包。世界瞬间清净了

性能的瓶颈通常不在你以为的地方。我发现自己居然没法反驳。我把这个循环里的数据库查询提到了外面,耗时降了八成。那一刻我觉得自己还是很专业的

用性能分析器跑了一遍,热点代码居然是我注释里写着"这里可以优化"的那段。我拉了个小群,把相关同学都叫了进来。我盯着 GC 日志,看到一段 800ms 的 Full GC。世界瞬间清净了

优化的尽头是玄学:同样的代码,重启之后性能就是不一样。我盯着屏幕,觉得这才是我的一天。我把这个批处理的批次调大了,整体耗时降了四成。从此我多了一条团队规约

性能问题的根因往往是架构而非代码。我在心里点了点头。我把这个服务的配置参数按压测结果调优了一遍。幸好之前留了备份