我做完这轮优化之后,监控曲线终于平了。我重新看了一遍手上的计划,把风险项标了出来。我在心里给这次的优化定了个验收标准。这条经验值直接拉满
😂 IT段子
程序员日常、代码趣事、技术梗图,让你在学习之余轻松一笑
优化的尽头是玄学:同样的代码,重启之后性能就是不一样。我发现自己居然没法反驳。我在心里给这次的优化排了个优先级,先做收益大的。连茶水间都安静了
性能问题的根因往往是架构而非代码。我默默记下了这句话。我把这个接口的并发限制调高了,吞吐上去了。幸好之前留了备份
这个接口的耗时有一半花在了它不必要做的事情上。我发现自己居然没法反驳。我发现这次的优化把一处延迟换成了另一处。我沉默了,但心里是服的
优化到后面会发现,最大的浪费是做了不需要的事。我想了想自己这些年,好像确实如此。我把这个接口的响应做了压缩,传输时间少了一半。这大概就是程序员的人生吧
我把这个批处理的批次调大了,整体耗时降了四成。我拉了个小群,把相关同学都叫了进来。我把这个列表的分页做成了游标,深翻页终于不慢了。感动,然后我学到了新的一课
这个算法在数据量小的时候看不出问题。我笑了笑,决定不解释。我确认了瓶颈在数据库,而不是我以为的应用层。复盘会上我们把它列成了案例
把 200 毫秒的接口优化到 20 毫秒,第二天产品加了个新功能,又变回 200 毫秒。我想反驳,但发现他说得对。我在心里给这次的优化算了笔账,收益大于成本。我沉默了,但心里是服的
性能问题的根因往往是架构而非代码。我盯着屏幕,觉得这才是我的一天。我把执行计划贴出来逐行分析,发现少了一个索引。果然现实比段子更精彩
加了缓存之后接口是快了,就是每次改数据都要跟缓存斗智斗勇。我先给自己泡了杯茶,做好了打持久战的准备。我把这个接口的连接复用打开了,握手开销几乎没了。感动,然后我学到了新的一课