根据二八定律,寻找什么是必须优化的,什么是可以不优化的。使用一些工具,比如火焰图。
根据奥姆剃须刀原理,分离核心业务和非核心业务,按照最小可用原则,把必须做的做到最好,把低回报业务降低优先级,甚至砍掉,做架构关注问题本身,切记避免过度设计,避免复杂度。
删除冗余的代码逻辑、空闲时重构,提高复用度。核心目的是减少无用的数据拷贝,优化数据结构,优化数据类型,比如SQL和索引的优化,本质是数据类型、数据结构和数据拷贝的优化,能使用整型的就不使用字符串。
避免过早优化,时刻考虑对全局的影响而非局部过早优化,增量更改,做好回滚的准备,并在性能和可读性之间进行tradeoff。
计算和存储相互分离,并寻找二者的结合点/平衡点,优先优化存储IO。使用连接池进行连接复用,合并sql逻辑来减少IO次数,修改业务逻辑,减少单次IO数据量。
缓存策略,最常用的优化利器,根据动静分离原则分出最好是读多写少,甚至是不写的昂贵数据,并且数据量尽可能少,尽量使用CPU缓存,进程内本地缓存,或