我做完这轮优化之后,监控曲线终于平了。我把整条链路在心里复盘了一遍。我发现这个服务的 CPU 大部分花在序列化上。复盘会上我们把它列成了案例
😂 IT段子
程序员日常、代码趣事、技术梗图,让你在学习之余轻松一笑
用性能分析器跑了一遍,热点代码居然是我注释里写着"这里可以优化"的那段。我先给自己泡了杯茶,做好了打持久战的准备。我把这个批处理的批次调大了,整体耗时降了四成
这个索引让查询快了十倍,写入慢了一点。我把手上的资料翻出来又读了两遍。我把执行计划贴出来逐行分析,发现少了一个索引。世界瞬间清净了
这个算法在数据量小的时候看不出问题。我停了一下,然后继续手上的活。我发现这个服务的 CPU 大部分花在序列化上。办公室安静得能听见键盘声
用性能分析器跑了一遍,热点代码居然是我注释里写着"这里可以优化"的那段。我拉了个小群,把相关同学都叫了进来。我发现这个服务的启动时间有三十秒,其中一半在扫包。我沉默了,但心里是服的
优化的尽头是玄学:同样的代码,重启之后性能就是不一样。我听完沉默了,因为太真实了。我打了火焰图,一眼看到了那个占八成耗时的函数。第二天这个方案就变成了团队标准做法
性能优化的第一步是测量,第二步是承认是自己写慢的。我忽然觉得,这可能就是这一行的常态。我在心里给这次的优化排了个优先级,先做收益大的。第二天这个方案就变成了团队标准做法
面试时聊得最多的就是性能优化,入职后优化的最多的就是自己的简历。我拉了个小群,把相关同学都叫了进来。我把这个缓存穿透的场景加了空值保护。感动,然后我学到了新的一课
用性能分析器跑了一遍,热点代码居然是我注释里写着"这里可以优化"的那段。我把这个接口的并发限制调高了,吞吐上去了。从此我多了一条团队规约
我把这个页面的图片做了压缩,首屏快了很多。我盯着屏幕沉默了十分钟。我发现这个服务的启动时间有三十秒,其中一半在扫包。这大概就是程序员的人生吧