系统架构设计师 系统性能评价

71 阅读3分钟

系统性能调整

阿姆达尔解决方案

2009年考过一次

即定义了采用特定组件所取得的加速比 R=TpTiR=\frac{T_{p}}{T_{i}} TpT_{p}表示不使用改进组件时完成整个任务的时间 Ti表示使用改进组件完成整个任务的时间T_{i}表示使用改进组件完成整个任务的时间 感觉有点像流水线的加速比

来看一下09年的真题 假设某一功能的处理时间为整个系统运行时间的60%,若使该功能的处理速度提高至原来的5倍,那么根据阿姆达尔定律,则处理速度可提高至原来的?

不采用改进方法所需要的时间是1 对于没有用改进方法的时间是整个系统运行时间的40%,采用了改进方法所需要的时间是605=12\frac{60}{5}=12,即结果是10.4+0.12=10.52=1.923\frac{1}{0.4+0.12}=\frac{1}{0.52}=1.923

性能优化

这个他怎么玩的呢?问你一个通过调整日志文件大小能提升系统性能,请问这个系统是什么系统

数据库应用系统

造成性能不好的原因可能有

  • 数据库连接方式
  • 系统应用架构
  • 数据库设计
  • 数据库管理
  • 网络通信

解决办法:

  • 修改应用模式
  • 建立历史数据库
  • 利用索引技术和分区技术等等优化措施 可以调整的参数
  • CPU和主存使用状况
  • 数据库的设计
  • 进程或进程状态
  • 硬盘剩余空间
  • 日志文件大小

Web应用系统

这个会有性能瓶颈,如 客户端程序,网关接口,数据库互联等等,优化的措施是改善应用程序的性能和数据库连接、进行流量管理与负载均衡、使用Web交换机和Web缓存等等

可以调整的参数

  • 系统的可用性
  • 响应时间
  • 并发用户数
  • 特定应用系统占用的系统资源

性能评估方法

你需要知道一下什么叫做基准测试程序,说人话就是你买手机的时候会去看一些测评的博主发的视频或文章之类的,基准测试程序主要有核心程序小型基准程序合成基准程序 评测准确度依次递减

  1. 真实程序
  2. 核心程序:即最关键的代码喽
  3. 小型基准程序
  4. 合成基准程序

性能评价指标

这个考的频率还挺高,你买电脑的时候也会碰到这些参数

主频

这个很大程度上决定了计算机的运算速度,举一个现实生活中的例子,即小A一分钟可以写50个字,小B一分钟可以写60个字,写的字数就可以看做主频

CPU时钟周期

计算机中的基准时间,即一个时钟脉冲所需要的时间,就是主频的倒数 CPU时钟周期=1主频CPU时钟周期=\frac{1}{主频} 晶振体的振荡周期

机器周期

即CPU周期,你可以认为一个基本操作所需要的时间=取指周期+分析指令周期+执行指令周期所需要的时间一个基本操作所需要的时间=取指周期+分析指令周期+执行指令周期所需要的时间

一个机器周期由若干时钟周期组成

一个指令周期由若干机器周期组成

即时钟周期->机器周期->指令周期

CPI

CPI(Cycles Per Instruction),每条指令执行所用的时钟周期数CPI(Cycles\ Per\ Instruction),每条指令执行所用的时钟周期数

但由于每条指令的功能不同所需要的时间也不同,就比如计算乘除法和计算矩阵的乘除法那运 算量是一样的吗?所以这里更多的是一个平均值

CPI经常用IPC来表示,即每个时钟周期执行指令条数表示 IPC=1CPIIPC=\frac{1}{CPI}

MIPS

MIPS,Million Instructions Per Second,每秒百万条指令MIPS,Million\ Instructions\ Per\ Second,每秒百万条指令

定义如下

MIPS=指令条数执行时间×103=主频CPI=主频×IPCMIPS=\frac{指令条数}{执行时间\times10^{3}}=\frac{主频}{CPI}=主频\times IPC 分母上要乘以10的6次方是因为通常是GHz,但这里的单位是MHz,我怎么感觉这里是10的3次方?

例题 CPU的主频是1.8GHz,若两个时钟周期组成1个机器周期,平均3个机器周期即可完成一条指令,则该计算机的指令平均执行速度是?

CPI即每条指令所用的时钟周期数,这里也就是2×3=62\times 3=6,所以答案就是1.8×1036=300\frac{1.8\times 10^{3}}{6}=300