第七周 - 学习总结
性能测试
两个视角不容易想到
主观视角:用户感受到的性能
客观视角:性能指标衡量的性能
性能的主要指标
响应时间:完成一次任务花费的时间
并发数:同时处理的任务数
吞吐量:单位时间完成的任务数
性能计数器:system load、对象与线程数、内存使用、cpu 使用、磁盘与网络 IO
性能测试方法
性能测试
负载测试
压力测试
稳定性测试
全链路测试,模拟实际业务场景,场景关联的多个系统的综合测试
数据构造
数据隔离
流量构造
全链路压测平台化
性能优化的方法论
原则:
你不能优化一个没有测试的软件
你不能优化一个你不了解的软件
主要指标
响应时间:完成一次任务花费的时间
并发数:同时处理的任务数
吞吐量:单位时间完成的任务数
性能计数器:system load、对象与线程数、内存使用、cpu 使用、磁盘与网络 IO
一般方法
性能测试
指标分析
架构与代码分析
架构与代码优化
性能测试,优化闭环
分层
不能乱枪打鸟,要从全链路的角度,逐步分析可以优化的地方
从底层往上分层
机房与骨干网络性能优化
服务器与硬件性能优化
操作系统性能优化
虚拟机性能优化
基础组件性能优化
软件架构性能优化
软件代码性能优化
并发编程,多线程与锁
进程、线程、线程栈基本概念
锁基本概念
锁原语-CAS 是一种系统原语,原语的执行必须是连续的,在执行过程中不允许被中断
各种锁的作用 偏向锁 轻量级锁 重量级锁
总线锁与缓存锁
资源复用,线程池与对象池
异步编程,生产者消费者
akka 框架涉及的异步处理思想
actor 听起来像 go 里的 goroutine,待研究
评论