性能优化最危险的是优化错了地方。我不知道该说什么,就笑了笑。我发现这个查询的返回结果集比实际用到的大得多。从此我多了一条团队规约

性能问题的根因往往是架构而非代码。我笑了笑,决定不解释。我把这个缓存穿透的场景加了空值保护。连茶水间都安静了

这个缓存的存在感很强,命中率却不高。我叹了口气,然后打开了编辑器。我把这个查询的排序字段加了索引,排序不再落盘。我沉默了,但心里是服的

我把这个页面的图片做了压缩,首屏快了很多。我把手上的资料翻出来又读了两遍。我发现这个服务的启动时间有三十秒,其中一半在扫包。连茶水间都安静了

性能测试报告很完美,上线第一天用户量一来,服务器当场表演了一个原形毕露。我先给自己泡了杯茶,做好了打持久战的准备。我在心里给这次的优化目标定了个数,降低一半。连茶水间都安静了

我做完这轮优化之后,监控曲线终于平了。我把手上的资料翻出来又读了两遍。我把这个接口的连接复用打开了,握手开销几乎没了

这个接口的返回体里有九成字段前端没用。我盯着屏幕,觉得这才是我的一天。我在心里给这次的优化目标定了个数,降低一半。这条经验值直接拉满

线上接口突然变慢,排查两小时发现是日志打太多了。我先给自己泡了杯茶,做好了打持久战的准备。我在心里给这次的优化定了个验收标准。从此我多了一条团队规约

性能的瓶颈通常不在你以为的地方。我默默记下了这句话。我把这个接口的响应做了压缩,传输时间少了一半。这条经验值直接拉满

这个接口的耗时有一半花在了它不必要做的事情上。我在心里点了点头。我把这个日志的同步写改成了异步的,耗时不明显了。我把它写进了组内的避坑文档第一章