缓存的失效策略比缓存本身更难设计。我笑了笑,决定不解释。我把这道接口的耗时拆成了四段,最慢的那段在意料之外。幸好之前留了备份
😂 IT段子
程序员日常、代码趣事、技术梗图,让你在学习之余轻松一笑
加了缓存之后接口是快了,就是每次改数据都要跟缓存斗智斗勇。我重新看了一遍手上的计划,把风险项标了出来。我把这个序列化的方式换成了更快的,耗时降了一半。感动,然后我学到了新的一课
性能的瓶颈通常不在你以为的地方。我想了想自己这些年,好像确实如此。我把这个对象的创建提到了循环外,GC 压力小了很多。好在最后有惊无险
加了缓存之后接口是快了,就是每次改数据都要跟缓存斗智斗勇。我盯着屏幕沉默了十分钟。我在心里给这次的优化写了个备注,还可以再挖。幸好之前留了备份
性能测试报告很完美,上线第一天用户量一来,服务器当场表演了一个原形毕露。我默默打开了编辑器,准备一步步验证。我把这个接口的并发限制调高了,吞吐上去了。那一刻我觉得自己还是很专业的
性能问题的根因往往是架构而非代码。我听完沉默了,因为太真实了。我在心里给这次的性能提升做了个预期,比较保守。真香定律准时生效
缓存的失效策略比缓存本身更难设计。我停了一下,然后继续手上的活。我把这个序列化的方式换成了更快的,耗时降了一半。第二天这个方案就变成了团队标准做法
这个接口的返回体里有九成字段前端没用。我发现自己居然没法反驳。我在心里给这次的优化排了个优先级,先做收益大的。我把这条经验写进了团队 wiki
性能优化最危险的是优化错了地方。我发现自己居然没法反驳。我在心里给这次的性能报告整理了三条结论。幸好之前留了备份
优化的尽头是玄学:同样的代码,重启之后性能就是不一样。我听完沉默了,因为太真实了。我把这个对象的创建提到了循环外,GC 压力小了很多。好在最后有惊无险