[架构之路-200]- 性能需求与性能分析:影响性能的主要因素

目录

前言:关于性能的几点说明

第一章 性能需求:提出各种性能指标

1.1 可靠性或可用性: stablity

1.2 处理能力或效率:  Performance

1.2.1 指标是吞吐率

1.2.2 指标是响应时间:

1.2.3 指标是资源利用率

1.3 高并发性

1.4 通信系统性能指标

1.4.1 信道传输速率

1.4.2 信道吞吐量:throughput

1.4.3 容量:Capacity

1.4.4 信道利用率

1.4.5 传输延迟

1.4.6 响应时间

1.4.7 负载能力(load)

第二章 性能分析:分析和细化影响性能需求的各种因素

第三章 系统设计:为高性能设计好系统架构

第四章 系统实现

第五章 系统测试:性能测试与评估

5.1 Linux系统性能评估的工具


前言:关于性能的几点说明

(1)性能需要是非功能性需求

(2)不同的信息系统比的是功能

(3)同行的信息系统比的是性能

(4)产品后期打磨的就是性能(性能提示曲线)

一开始性能提升容易,越往后,性能提升越难。


(5)性能的改进因素分布在系统的方面面面(性能分析框架)

(6)信息系统的性能从需求阶段就开始了,而不是在编码实现阶段才开始。

  • 客户需求:性能需求,提出各种性能指标
  • 系统分析:性能分析(最难),分析和细化影响性能需求的各种因素
  • 系统设计:为高性能设计好系统 架构
  • 系统实现:通过芯片设计、编程语言和代码编程来实现高性能信息系统。 
  • 系统测试:性能测试与评估

很多人在开发信息系统时,早期只关系功能,到了开发的后期才关心性能,导致花了大量人力、物力开发的系统,

  • 要么因为性能无法满足客户的需求,导致一直无法交付
  • 要么陷在现有框架下艰难的进行性能的改进和优化,项目交付一再推迟。
  • 要么导致推翻以前的软硬件架构,重新设计,造成前期大量的人力、物力、时间的浪费。

本文重点重点关注前期的性能需求和性能分析!!!

(7)性能目标的本质:多、快、好、省、低

 数量多,速度快,质量好,成本省、功耗低

第一章 性能需求:提出各种性能指标

  • 不同的业务系统,对性能指标的要求是不同的!!!!
  • 不同的业务系统,对性能指标的优先级是不同的!!!
  • 不同的性能指标之间是相互制约的!!!会导致后续一些列设计上的变化!!!

这就是为什么需求阶段需要明确业务系统的性能指标!!!

计算机系统的性能一般包括三的方面。

1.1 可靠性或可用性: stablity

一个方面是它的可靠性或可用性,也就是计算机系统能正常工作的时间,其指标可以是能够持续工作的时间长度(例如,平均无故障时间),也可以是在一段时间内,能正常工作的时间所占的百分比;

1.2 处理能力或效率:  Performance

另一个方面是它的处理能力或效率,这又可分为三类指标:

1.2.1 指标是吞吐率

系统在单位时间内能处理正常作业的个数

1.2.2 指标是响应时间:

从系统得到输入到给出输出之间的时间

1.2.3 指标是资源利用率

即在给定的时间区间中,各种部件(包括硬设备和软件系统)被使用的时间与整个时间之比。

1.3 高并发性

通常是指通过设计保证系统能够同时并行处理很多请求的数量。

高并发(High Concurrency)是互联网分布式系统架构设计中必须考虑的因素之一,它通常是指,通过设计保证系统能够同时并行处理很多请求。

1.4 通信系统性能指标

不同的系统对性能指标的描述有所不同,例如,计算机网络系统常用的性能评估指标为:

1.4.1 信道传输速率

传输速率是泛指数据从一点向另一点传输的速率。如从网络节点向打印服务器传输打印数据的速率,Modem对数据传输的速率,信道传输数据的速率等。传输速率的单位有bts,波特等。

1.4.2 信道吞吐量:throughput

网络吞吐量,信息技术术语,网络中的数据是由一个个数据包组成,防火墙对每个数据包的处理要耗费资源。吞吐量是指在没有帧丢失的情况下,设备能够接受的最大速率。其测试方法是:在测试中以一定速率发送一定数量的帧,并计算待测设备传输的帧,如果发送的帧与接收的帧数量相等,那么就将发送速率提高并重新测试;如果接收帧少于发送帧则降低发送速率重新测试,直至得出最终结果。吞吐量测试结果以比特/秒或字节/秒表示。

1.4.3 容量:Capacity

容量也指物体或者空间所能够容纳的单位物体的数量。

现广泛应用于计算机硬盘、电池等储量的计量。

通信容量-单位时间内能够传输的最大信息量。

1.4.4 信道利用率

用于描述有效信息传递过程中信息占用信道的百分率,也是信道的效率。

1.4.5 传输延迟

传输延迟,发送接收处理时间、电信号响应时间、介质中传输时间三个时间的总和。

1.4.6 响应时间

系统响应时间,是计算机对用户的输入或请求作出反应的时间 [1]  。

系统响应时间的计算要考虑到用户的数目,用户数目越多,响应时间必须越快,不然就难以保证每一个用户都有可以接受的响应时间。

响应时间和时间片的大小有关,一般情况是:时间片越短,响应时间越快。

1.4.7 负载能力(load)

在给定持续运行时长下,设备可承受的最大负载,或在给定负载下,设备可持续运行的最大时长。

带负载能力就是代表器件的输出电流的大小。对于标准TTL器件,输出负载能力的高电平为0.4mA,而作为下级负载的TTL器件的输入高电平电流为0.04mA(40uA),这样一个标准TTL器件最大可以驱动8个以上标准TTL负载。

所谓带负载能力,是说电路的输出电阻的大小,和电压源(电流源)中的内阻是一个意思。

对于CPU: 负载就是指CPU的占用率的可执行任务,比80%的负载,100%负载。

对于5G系统:负载就是就是用户数量或throughput的数据,比如最大64个用户,实际用户的数量就是负载,再如,最大传输速率是1G, 900M数据传输就是负载。

第二章 性能分析:分析和细化影响性能需求的各种因素

CPU计算内存外设IO总线通信
硬件电路

1.主时钟

2. 高速CPU

1. 主时钟

2. 高速内存

1. 主时钟

2. 高速外设

3. 高速flash硬盘

1. 主时钟

2. 高速总线

CPU架构

1. ALU运算速度

2. 指令执行速度

3. 流水线 

4. 吞吐量与吞吐率

5. 高性能计算

1. 主存容量和存取速度

2. 层次性

3. cache

1. IO指令速度

2. IO访问速度

1 . 字长和数据通路宽度

2. 内部高速总线

3. 内部互联总线

操作系统

1. 操作系统调度与优先级

2. 实时性调度

3. 异常处理

4. 调度策略与算法

1. 虚拟内存技术

2.减少内存拷贝

3. 内存层次模型

4. 分区管理

5. 内存管理与算法

1.响应时间与完成时间

2. 中断响应

3. 中断屏蔽

4. IO缓存

1. 进程间通信与进程间数据传输与拷贝

2. 内核空间与用户空间数据传送

3. 死锁

数据库

1. CPU效率

2. CPU多核

3. 负载均衡

1. 网络存储技术

2. 索引优化

3. 查询优化

1.避免不必要的硬盘访问与缓存

2. 读写分离

1. 网络数据库之间通信

2. 本地备份,定期同步

网络通信

1. DMA传送

2. 

1. 避免不必要的内存拷贝

2. 避免

1. 提升通信的响应速度

1. 采用高速通信链路

分布式

1. 负载均衡

应用程序与特定的业务应用算法相关与特定的业务应用算法相关与特定的业务应用算法相关与特定的业务应用算法相关

编程技巧与操作目标

1. 降低无效的CPU占用的时间

2. 较少CPU指令数量

1.避免无效的访问内存

1. 避免无效的访问低效的IO

2. 避免IO等待

1. 避免不必要的网络通信

2. 避免低速通信

算法

数据

结构

软件架构

第三章 系统设计:为高性能设计好系统架构

第四章 系统实现

通过芯片设计、编程语言和代码编程来实现高性能信息系统。 

第五章 系统测试:性能测试与评估

5.1 Linux系统性能评估的工具

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

文火冰糖的硅基工坊

你的鼓励是我前进的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值