线上接口突然变慢,排查两小时发现是日志打太多了。我拉了个小群,把相关同学都叫了进来。我在心里给这次的性能提升做了个预期,比较保守。真香定律准时生效
😂 IT段子
程序员日常、代码趣事、技术梗图,让你在学习之余轻松一笑
用性能分析器跑了一遍,热点代码居然是我注释里写着"这里可以优化"的那段。我决定先把手上的事情做完再处理这件事。我发现这个功能的耗时随数据量线性增长,需要重构。感动,然后我学到了新的一课
我把这个对象的创建挪到了循环外,GC 压力小了。我在心里把涉及的所有环节都过了一遍。我发现真正慢的是序列化那一步。办公室安静得能听见键盘声
我把这个循环里的查询提到了外面,效果好得意外。我盯着屏幕沉默了十分钟。我发现这个服务的 CPU 大部分花在序列化上。复盘会上我们把它列成了案例
性能优化的第一步是测量,第二步是承认是自己写慢的。我在心里点了点头。我发现这个功能的耗时在高峰期会翻倍。好在最后有惊无险
懒加载加了、分包做了、CDN 上了,最后发现慢的是用户那个 2G 信号。我默默记下了这句话。我在心里把这条链路的调用次数数了一遍,有二十次。果然现实比段子更精彩
优化之前先测量,否则你优化的可能是错觉。我听完沉默了,因为太真实了。我把缓存加了进去,QPS 立刻上了一个台阶,一致性开始头疼。我沉默了,但心里是服的
所谓性能优化,就是在不重写代码的前提下假装自己在重写代码。我叹了口气,然后打开了编辑器。我在心里给这次的优化排了个优先级,先做收益大的。第二天这个方案就变成了团队标准做法
懒加载加了、分包做了、CDN 上了,最后发现慢的是用户那个 2G 信号。我忽然觉得,这可能就是这一行的常态。我发现这个服务的启动时间有三十秒,其中一半在扫包。世界瞬间清净了
程序员的成就感来源排名:代码上线、性能优化、帮同事修好了打印机。我想了想,觉得这话没法接。我在压测环境复现了问题,本地怎么压都压不出来。真香定律准时生效