写点什么

week7 学习总结

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

性能测试:

体验性:用户感知

指标性:量化指标



性能测试指标:

响应时间:系统从请求开始到最后响应数据所需要的时间。

并发数:系统同时处理请求的数量

呑吐量:请求数/秒,页面数/秒,访问人数/天,处理的业务数/小时,TPS(事务数/秒),HPS(HTTP请求数/秒),QPS(查询数/秒)等。



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



性能测试方法:

性能测试:预期

负载测试:安全临界值

压力测试:最大承受压力

稳定性测试:长时间运行



全链路压测:

找出性能瓶颈



测试数据隔离:

逻辑隔离,虚拟隔离,物理隔离



软件性能优化的两个基本原则

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

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



软件架构性能优化三板斧:

缓存

异步

集群



很多时候程序性能不好不是因为性能上有什么技术挑战,仅仅就是因为代码太烂了。



程序:静态

进程:CPU分时执行



进程的运行期状态

运行:

就绪:其他准备完成,只需CPU

阻塞:等待某一事件发生而暂时停止运行



进程VS线程

进行是系统级的,线程是程序级的。



避免阻塞导致高并发系统崩溃

限流:

降级:关闭部分功能程序的执行

避免阻塞:异步IO



锁原语CAS:一种系统原语,原语的执行必须是连续的,在执行过程中不允许被中断。



偏向锁:

经量级锁:

重量级锁:



总线锁:

缓存锁:

公平锁:

非公平锁:饥饿现象

可重入锁:



独享锁/互斥锁:

共享锁:

读写锁:

乐观锁:

悲观锁:

分段锁:

自旋锁:



文件与硬盘I/O

机械硬盘:

固态硬盘:

B+树:

LSM树:



文件控制块

Linux Inode 文件控制块

RAID 独立硬盘冗余阵列



分布式文件系统HDFS ?



用户头像

任小龙

关注

还未添加个人签名 2019.02.11 加入

还未添加个人简介

评论

发布
暂无评论
week7 学习总结