前言
基本上每个系统都有一个在整个生命周期都需要讨论的话题“性能”。在业务初期,“野蛮生长”是第一要务,只要能满足用户性能,堆机器、堆人力、堆数据库等,能直接解决的都无需上升到专门的优化专题.
经常听到的一句话就是,机器性能的提升,很少有人去关注系统调优了。当然,在服务器性能飙升导致工程师越来越少关注底层优化逻辑。
业务性能优化
那么为什么还要那么关注业务性能优化? 一方面,时刻保持性能优化,在技术方案设计期间、在编码期间、在上线运行期间、在业务维护期间,都应该追求极致的体验,可以降低系统消耗节省成本,可以节省用户时间提升用户效率。
另外一方面,性能优化应该是工程师自身的一种基本素质。系统保持相对优化状态,对于稳定性、效能都是有着重要影响。
性能优化方法论
这里简单介绍一下我对性能优化的看法。
工具化
要保证能快速定位系统的瓶颈,就应该有一套合适的工具帮助快速定位到性能薄弱点。那有一套调用链的整体观测