写点什么

架构师训练营第七周总结

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

第七周主要讲系统测试和性能优化。也讲解了操作系统、文件等相关知识,以及异步并发分布式编程框架akka。



  • 系统测试与系统优化

系统优化的前提和基础是性能测试。



优化的视角有:

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

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



主要指标:

响应时间:发出请求到收到响应的间隔时间

并发数:系统能够同时处理请求的数目

吞吐量: TPS(每秒事务数)、HPS(每秒HTTP请求数)、QPS(每秒查询数)

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

性能计数器:描述服务器或操作系统性能的一些数据指标。包括System Load、对象与线程数、内存使用、CPU使用、磁盘与网络I/O等指标。对这些指标设置报警阀值,当监控系统发现性能计数器超过阀值的时候,就向运维和开发人员报警,及时发现处理系统异常



性能测试方法:

包括性能测试、负载测试、压力测试、稳定性测试等

性能测试:以系统规划的性能指标为预期目标进行测试,验证系统在资源可接受范围内,是否能达到性能预期。

负载测试:增加压力,直到系统的某项或多项性能指标达到安全临界值。

压力测试:超过安全负载后继续加压,直到系统崩溃,检测系统最大压力承受能力。

稳定性测试:模拟生产环境测试系统,在特定硬件、软件、网络环境条件下,对系统进行一段较长时间压力测试









  • 全链路压测

在特定业务场景下,将相关的链路完整地串联起来同时施压,尽可能模拟出真实用户行为。



数据构造:

数据隔离:

流量构造





  • 系统优化

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

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

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



  • 性能优化的一般方法

性能测试,获得性能指标

指标分析,发现性能与资源瓶颈点

架构与代码分析,寻找性能与资源瓶颈关键所在

架构与代码优化,优化关键技术点,平衡资源利用

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



  • 系统性能优化的分层思想

  • 机房与骨干网络性能优化

  1. 异地多活的多机房架构

  2. 专线网络与自主CDN建设

  • 服务器与硬件性能优化

  1. CPU、磁盘、内存、网卡

例如:瓶颈在网络带宽时,换高速网卡

  • 操作系统性能优化



  • 虚拟机性能优化



  • 基础组件性能优化



  • 软件架构性能优化

软件架构性能优化三板斧

缓存、异步、集群







  • 软件代码性能优化



  • 操作系统

进程

线程

线程管理:

线程安全

阻塞:避免阻塞:限流、降级、异步I/O、无临界区(Actor模型)



锁:

偏向锁

轻量级锁

重量级锁

多CPU情况下的锁



总线锁与缓存锁

公平锁与非公平锁

可重入锁

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

乐观锁、悲观锁

分段锁

自旋锁



  • 文件与I/O磁盘















  • 异步并发分布式编程框架akka

















发布于: 2020 年 07 月 22 日阅读数: 51
用户头像

王鑫龙

关注

还未添加个人签名 2018.02.04 加入

还未添加个人简介

评论

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