提交 95d6c0c9 编写于 作者: fun binary's avatar fun binary

11

上级 ce4bae4b
倪鹏飞博客:https://kubernetes.feisky.xyz/
课程地址:https://time.geekbang.org/column/article/68728
性能领域大师布伦丹格雷格博客:http://www.brendangregg.com/
网友博客-摄像头优化:https://blog.csdn.net/xieyihua1994/article/details/88854881
三遍学习法:https://www.douban.com/group/topic/38295994/
# 性能分析六步
1. 选择指标评估应用程序和系统的性能;
2. 为应用程序和系统设置性能目标;
3. 进行性能基准测试;
4. 性能分析定位瓶颈;
5. 优化系统和应用程序;
6. 性能监控和告警。
# 学习的重点
1. 理解最基本的几个系统知识原理
2. 掌握必要的性能工具
3. 通过实际场景演练,贯穿不同组件
# 学习技巧
1. 系统原理虽然重要,但是刚开始一定不要试图抓住所有实现细节。
2. 边学边实践,通过大量的案例演习掌握linux性能分析和优化。
3. 勤思考,多反思,善总结,多问为什么。
# 性能瓶颈排查思路
有监控的情况下,首先去看看监控大盘,看看有没有异常报警,如果初期还没有监控的情况我会按照下面步骤去看看系统层面有没有异常
1、我首先会去看看系统的平均负载,使用top或者htop命令查看,平均负载体现的是系统的一个整体情况,他应该是cpu、内存、磁盘性能的一个综合,一般是平均负载的值大于机器cpu的核数,这时候说明机器资源已经紧张了
2、平均负载高了以后,接下来就要看看具体是什么资源导致,我首先会在top中看cpu每个核的使用情况,如果占比很高,那瓶颈应该是cpu,接下来就要看看是什么进程导致的
3、如果cpu没有问题,那接下来我会去看内存,首先是用free去查看内存的是用情况,但不直接看他剩余了多少,还要结合看看cache和buffer,然后再看看具体是什么进程占用了过高的内存,我也是是用top去排序
4、内存没有问题的话就要去看磁盘了,磁盘我用iostat去查看,我遇到的磁盘问题比较少
5、还有就是带宽问题,一般会用iftop去查看流量情况,看看流量是否超过的机器给定的带宽
6、涉及到具体应用的话,就要根据具体应用的设定参数来查看,比如连接数是否查过设定值等
7、如果系统层各个指标查下来都没有发现异常,那么就要考虑外部系统了,比如数据库、缓存、存储等
#
# 性能工具图片
![img](https://develop-1301758814.cos.ap-nanjing.myqcloud.com/9ee6c1c5d88b0468af1a3280865a6b7a.png)
# 思维导图
![img](https://develop-1301758814.cos.ap-nanjing.myqcloud.com/0faf56cd9521e665f739b03dd04470ba.png)
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册