写点什么

架构师训练营第七周总结

用户头像
月殇
关注
发布于: 2020 年 11 月 08 日

性能测试

性能测试指标

响应时间、并发数、吞吐量、性能计数器等

吞吐量 = ( 1000 / 响应时间ms ) × 并发数

性能测试方法

性能测试、负载测试、压力测试、稳定性测试

全链路压测

数据构造

数据隔离:逻辑隔离、虚拟隔离、物理隔离

流量构造

全链路压测平台化



性能优化

两个基本原则

你不能优化一个没有测试的软件

你不能优化一个你不了解的软件

性能测试的主要指标

响应时间:完成一次任务花费的时间

并发数:同时处理的任务数

吞吐量:单位时间完成的任务数

性能计数器:System Load,线程数,进程数,CPU、内存、磁盘、网络使用率

性能优化的一般方法

性能测试,获得性能指标

指标分析

架构与代码分析

架构与代码优化

性能测试,进入性能优化闭环

系统性能优化的分层思想

机房与骨干网络性能优化:异地多活、专线网络、自主CDN

服务器与硬件性能优化:更优的 CPU,磁盘,内存,网卡

操作系统性能优化

虚拟机性能优化

基础组件性能优化

软件架构性能优化:缓存、异步、集群

软件代码性能优化:并发编程、异步编程、资源复用、数据结构



操作系统

操作系统多任务运行环境

进程分时执行

进程的运行期状态

运行、就绪、阻塞

进程 VS 线程

进程:系统资源分配的最小单位

线程:CPU执行的最小单位

线程安全

临界区:多个线程访问共享资源的这段代码被称为临界区

使用锁来解决问题

阻塞导致高并发系统崩溃

锁(I/O)会引起线程阻塞,资源得不到释放,最终导致系统崩溃

避免阻塞引起的崩溃

限流、降级、反应式编程(异步、无临界区)



锁原语 CAS

使用CAS修改对象头中的Mark Word实现加锁,从而实现Synchronize中的无锁、偏向锁、轻量级锁、重量级锁过程;

多 CPU 情况下的锁

总线锁与缓存锁

公平锁 非公平锁

可重入锁

独享锁/互斥锁 共享锁 读写锁

乐观锁 悲观锁

分段锁

自旋锁



用户头像

月殇

关注

还未添加个人签名 2019.04.15 加入

还未添加个人简介

评论

发布
暂无评论
架构师训练营第七周总结