性能调优整体思路
- 空间换时间
对热点数据缓存,减少数据查询时间。 - 分而治之
将大任务切片,分开执行。HDFS、MapReduce就是这个原理。 - 异步处理
若业务链中有某一环节耗时严重,则该环节将拉长业务链的整体耗时。可以将耗时业务采用消息队列异步化,从而缩短业务链耗时。 - 并行处理
采用多进程、多线程同时处理,提升处理速度。 - 离用户更近一点
如CDN技术,将静态资源放到离用户更近的地方,从而缩短请求静态资源的时间。 - 提升可扩展性
采用业务模块化、服务化的手段,提升系统的可扩展性,从而可根据业务需求实现弹性计算。
性能调优关注点
1. 硬件资源
CPU
CPU使用率过高的原因:- 计算量大
- 非空闲等待
- 过多的系统调用
- 过多的中断
内存
内存使用率过高的原因:- 过多的页交换
- 可能存在内存泄露
IO
IO繁忙的原因:- 读写频繁
磁盘的读写过程是物理动作,频繁的读写势必会使IO来不及处理。
- 读写频繁
网络
要关注服务器的出入口带宽。