如何学习Linux 性能优化
一、性能分析步骤:
性能分析,其实就是找出应用或系统的瓶颈,并设法去避免或者缓解它们,从而更高效地利用系统资源处理更多的请求。性能分析的六个步骤:
- 选择指标评估应用程序和系统的性能;
- 为应用程序和系统设置性能目标;
- 进行性能基准测试;
- 性能分析定位瓶颈;
- 优化系统和应用程序;
- 性能监控和告警。
二、性能分析的学习的重点:
学习的重点是建立整体系统性能的全局观:
- 掌握必要的性能工具;
- 通过实际的场景演练,
- 贯穿不同的组件。
三、怎么学更高效:
技巧一:虽然系统的原理很重要,但在刚开始一定不要试图抓住所有的实现细节。
技巧二:边学边实践,通过大量的案例演习掌握 Linux 性能的分析和优化。
巧三:勤思考,多反思,善总结,多问为什么。
四、遇到问题的排查思路:
查监控和异常报警,再按照下面步骤去看看系统层面有没有异常:
1、我首先会去看看系统的平均负载,使用top或者htop命令查看,平均负载体现的是系统的一个整体情况,他应该
是cpu、内存、磁盘性能的一个综合,一般是平均负载的值大于机器cpu的核数,这时候说明机器资源已经紧张
了。
2、平均负载高了以后,接下来就要看看具体是什么资源导致,我首先会在top中看cpu每个核的使用情况,如果占
比很高,那瓶颈应该是cpu,接下来就要看看是什么进程导致的。
3、如果cpu没有问题,那接下来我会去看内存,首先是用free去查看内存的是用情况,但不直接看他剩余了多
少,还要结合看看cache和buffer,然后再看看具体是什么进程占用了过高的内存,我也是是用top去排序
4、内存没有问题的话就要去看磁盘了,磁盘我用iostat去查看,我遇到的磁盘问题比较少。
5、还有就是带宽问题,一般会用iftop去查看流量情况,看看流量是否超过的机器给定的带宽。
6、涉及到具体应用的话,就要根据具体应用的设定参数来查看,比如连接数是否查过设定值等。
7、如果系统层各个指标查下来都没有发现异常,那么就要考虑外部系统了,比如数据库、缓存、存储等。