性能调优整体思路
作为一名团队技术核心,如何让系统跑得通、跑得稳、跑得快是必然会面对的场景。性能分析是一个大课题,不同的架构、不同的应用场景、不同的程序语言分析的方法若有差异,抽象一下大致分为两类:
自底向上:通过监控硬件及操作系统的指标(CPU、内存、磁盘、网络等硬件资源的性能指标)来分析性能问题(配置、程序等问题)。因为用户请求最终是由计算机硬件设备来完成的,做事的是CPU。
自顶向下:通过生成负载来观察被测试的系统性能,比如响应时间、吞吐量;然后从请求的起点由外及里一层一层的分析,从而找到性能问题所在。
不管是自上而下还是自下而上,关键点就是生成负载、监控性能指标。好一点的方式是先用自顶向下的方式解决掉明显的性能问题,再结合自底向上的方式分析更深层次的问题。
性能分析过程
步骤名称 | 说明 |
检查RT | 模拟用户发起负载后,采用的自顶向下的方式首先分析RT(响应时间) |
检查TPS | TPS大时RT小,说明性能良好 |
检查负载机资源 | 检查CPU使用率,CPU负载(Load Average)确认是用户CPU占用高还是系统CPU占用高 |
判断负载机是否有性能问题 | 排除负载机的性能问题,确保测试结果可参考 |
检查Web服务器的资源消耗 | 1、检查CPU使用率,确认用户CPU与系统CPU占用情况 |
确认是否Web服务器瓶颈 | 标判断是否是Web服务器硬件性能瓶颈 |
检查中间件配置 | 确认是否是此配置问题 |
检查APP服务器资源消耗 | 关注CPU、内存、磁盘、IO,判断是否是App服务器硬件性能瓶颈 |
数据库服务器资源消耗分析 | 1、CPU消耗,CPU负载 |
是否是DB性能问题 | 由监控结果来判断是否是DB性能问题 |
是否SQL问题 | 1、定位最不合理的SQL占比索引是否正常引用 |
其他 | 比如网络阻塞、磁盘IO瓶颈、热点等 |
.NET性能调优四天集训
3月11日~14日,架构师Zilor老师将带领大家开启.NET性能调优4天突击营,Zilor老师拥有12年软件开发经验,7年大型互联网架构经验,此次,他将会为大家复盘.NET性能调优的经典场景,为大家提供高效、接地气的解决方案,让您迅速成为面试官或同事眼中的“老司机”。
课程原价599元,本号粉丝一律0元学(免费名额仅499名),长按扫码进班级群。
第一天:如何使用VS进行性能排查算法对性能的影响
缓存对性能的作用
锁的问题
响应与吞吐
Performance Diagnostic Tools
内存缓存与响应缓存中间件
响应压缩
负载测试与压力测试
SQL语句优化
索引
分区、分表与分库
读写分离
延迟加载与贪婪加载
IQueryable与IEnumerable的区别
实体追踪
查询优化
标量函数
进群享四大福利
福利1:送价值399元.NET Core视频合集
福利2:送价值299元微服务视频合集
福利3:送价值499元数据结构算法视频合集
福利4:赠送价值199元Redis视频合集
扫码获取以上福利
仅限前199名