第七周总结

用户头像
Linuxer
关注
发布于: 2020 年 07 月 22 日

性能测试

优化的前提和基础,也是性能优化结果的检查和度量标准。

主观视角:用户感受到的性能

客观视角: 性能指标衡量的性能

性能指标:吞吐量、响应时间(反映快慢)、并发数、性能计数器

并发数 :同时提交请求的用户数目

在线用户数: 登录系统的用户数

系统用户数: 可能访问系统的总用户数

吞吐量:单位时间内系统处理的请求的数量

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

性能计数器:描述服务器或操作系统性能的一些数据指标。



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

性能优化



软件性能优化的两个基本原则:不能优化一个没有测试的软件、不能优化一个你不了解的软件。

性能优化的一般方法:性能测试,获得性能指标;指标分析,发现性能与资源瓶颈点;架构与代码分析,寻找性能与资源瓶颈关键所在;架构与代码优化,优化关键技术点,平衡资源利用;性能测试,进入性能优化闭环。

系统性能优化的分层思想

机房与骨干网络性能优化:异地多活的多机房架构;专线与自主CDN建设

服务器与硬件性能优化,垂直伸缩

操作系统性能优化

虚拟机性能优化

基础组件性能优化

软件架构性能优化

缓存(优化读)、异步(优化写)、集群、

软件代码性能优化:并发编程、多线程与锁;资源复用,线程池与对象池;异步编程,生产消费者;算法



操作系统



进程是活的

进程的状态

就绪、运行、阻塞

进程 VS 线程

进程切换的代价大于线程切换的代价,线程共享进程的内存地址空间

线程栈

一个函数一个栈帧,栈帧存储当前函数调用过程中的参数,局部变量。栈是后进先出,貌似这个点老师说错了。

线程安全,是多个线程对共享的数据进行修改时才存在的问题。

临界区,就是保护共享资源的区域



避免阻塞引起的崩溃

限流、降级、避免阻塞



锁原语 CAS --系统原语,保证判断和更改的原子性。在执行过程中不允许被中断

偏向锁 轻量级锁 重量级锁

总线锁(性能差)与缓存锁

公平锁与非公平锁(出现饿死的现象)

可重入锁 针对同一线程重复获取相同锁的情况

独占锁、共享锁、读写锁

乐观锁、悲观锁

分段锁 :更小的锁粒度

自旋锁:CPU忙等



文件与磁盘I/O

文件控制块

RAID



用户头像

Linuxer

关注

还未添加个人签名 2018.06.12 加入

还未添加个人简介

评论

发布
暂无评论
第七周总结