写点什么

第七周总结

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

性能压测的时候,随着并发压力的增加,系统响应时间和吞吐量如何变化,为什么?

随并发压力增加,系统响应时间及吞吐量增长趋势分三个阶段,在性能测试阶段即并发压力小的阶段,

系统响应时间趋于平稳,不会随并发压力增加而增加,因为此时资源够用,而吞吐量随并发压力线性增长,因为有足够的资源处理请求,单位时间内能处理的请求越多,第二个阶段即负载测试,此时并发压力趋于饱和,系统响应时间有所增长,吞吐量增长变缓,第三阶段即压力测试阶段,并发压力已超过系统能承受的最大极限,响应时间急剧增长,吞吐量不再增长,反而开始下降,因为超过系统能处理的最大能力后有其他开销,比如线程过多占用内存和 CPU 资源。

性能指标:并发数(同时请求的用户量),响应时间(客户端发出请求到收到响应),吞吐量(单位时间请求处理量,QPS,TPS)。

核心业务接口:性能测试-》负载测试-》压力测试

通过监控确定系统资源最大利用下的指标,分析目前系统的性能瓶颈,确定系统目前的性能指标。

全链路压测:在某个业务场景下模拟用户真实操作,利用线上用户数据构造模拟数据-》数据隔离-》数据分发

性能优化分层思想:网络机房-》服务器硬件配置-》操作系统-》JVM 进程调优-》基础设施组件-》系统架构-》代码优化

CAS 在操作系统指令保证不可中断,即原子性,CAS 是可以自旋的,在 java 中锁实现,使用锁对象保护临界区(共享资源),对象头的 mark word 区域保存锁信息,比如锁的标志,偏向锁,锁的持有线程信息,重入次数,锁的状态有以下几种:正常(无锁)-》偏向锁-》轻量级锁-》重量级锁,

随着锁竞争越来越激烈,依次升级,使用锁的最佳实践,能不用锁就不用,减少锁的范围,细分锁的粒度(分段锁,读写锁)。


actor 模型:actor 对象通过消息传递进行协助,从而完成异步并发的目的。


用户头像

solike

关注

还未添加个人签名 2020.02.17 加入

还未添加个人简介

评论

发布
暂无评论
第七周总结