这个缓存的存在感很强,命中率却不高。我发现自己居然没法反驳。我把这个接口做成了异步处理,用户不等了。世界瞬间清净了
😂 IT段子
程序员日常、代码趣事、技术梗图,让你在学习之余轻松一笑
优化到后面会发现,最大的浪费是做了不需要的事。我忽然觉得,这可能就是这一行的常态。我发现这个功能的耗时随数据量线性增长,需要重构。我把这条经验写进了团队 wiki
这个缓存的存在感很强,命中率却不高。我停了一下,然后继续手上的活。我在心里给这次的优化算了笔账,收益大于成本。我沉默了,但心里是服的
这个算法在数据量小的时候看不出问题。我笑了笑,决定不解释。我发现真正慢的是序列化那一步。那一刻我觉得自己还是很专业的
性能问题的根因往往是架构而非代码。我不知道该说什么,就笑了笑。我确认了瓶颈在数据库,而不是我以为的应用层。真香定律准时生效
优化之前先测量,否则你优化的可能是错觉。我盯着屏幕,觉得这才是我的一天。我发现这次的优化把一处延迟换成了另一处。我沉默了,但心里是服的
这个接口的返回体里有九成字段前端没用。我愣了两秒,然后继续敲代码。我把这个接口的依赖调用改成了并行的,耗时砍半。幸好之前留了备份
程序员的成就感来源排名:代码上线、性能优化、帮同事修好了打印机。我抬起头看了看周围,大家都一样。我把缓存加了进去,QPS 立刻上了一个台阶,一致性开始头疼。连茶水间都安静了
把 200 毫秒的接口优化到 20 毫秒,第二天产品加了个新功能,又变回 200 毫秒。我把这个查询的排序字段加了索引,排序不再落盘。办公室安静得能听见键盘声
性能测试报告很完美,上线第一天用户量一来,服务器当场表演了一个原形毕露。我拉了个小群,把相关同学都叫了进来。我发现这个热点数据的读放大很严重,加了一层缓存。感动,然后我学到了新的一课