系统架构设计师学习笔记 第五章 系统性能评价

第五章 系统性能评价

5.1 性能指标

5.1.1 计算机

对计算机评价的主要性能指标如下:

1. 时钟频率(主频)

也就是主时钟的脉冲频率,现在还需要内核数。

2. 高速缓存

3. 运算速度

单位一般用MIPS(百万条指令/秒)和MFLOPS(百万次浮点运算/秒)。MIPS用于描述计算机的定点运算能力;MFLOPS则用来标识计算机的浮点运算能力。

4. 运算精度

取计算机处理信息时能直接处理的二进制数据的位数,位数越多,精度救越高。参与运算的数据的基本位数通常用基本字长来表示。

5. 内存的存储容量

内存的容量越大,可存储的数据和程序就越多,从而减少与磁盘信息交换的次数,使运行效率得到提高。

6. 内存的存取周期

内存完成一次读(取)或写(存)操作所需要的时间称为存储器的存取时间或者访问时间,而连续两次读(或写)所需的最短时间称为存储周期,存储周期越短,表示从内存存取信息的时间越短,系统的性能也就越好。

7. 数据处理速率

数据处理速度PDR的计算公式为:$PDR=L/R$。其中:
$L=0.85G+0.15H+0.4J+0.15K$,
$R=0.85M+0.09N+0.06P$

  • G是每条定点指令的位数;
  • H是每条浮点指令的位数;
  • J是定点操作数的位数;
  • K是浮点操作数的位数;
  • M是平均定点加法时间;
  • N是平均浮点加法时间;
  • P是平均浮点乘法时间。

另外还规定,G>20位,H>30位;从主存中去一条指令的时间等于取一个字的时间;指令和操作数都存放在同一个主存,无变址或间址操作;允许有先行或并行取指令功能,此时选用平均取指令时间。

8. 响应时间

  • 0.1秒,用户感觉不到任何延迟。
  • 1.0秒,用户愿意接受的系统立即响应的时间极限。即当执行一项任务的有效反馈时间在0.1~1秒之间,用户都是愿意接受的。超过此数据值,则意味着用户会感觉到有延迟,但是只要不超过10秒,用户还是可以接受的。
  • 10秒,用户保持注意力执行本次任务的极限,如果超过此数值仍然得不到有效的反馈,客户会在等待计算机完成当前操作时转向其他的任务。

9. RASIS特性

RASIS特性是可靠性(Reliability)、可用性(Availability)、可维护性(Serviceability)、完整性(Integraity)和安全性(Security)五者的统称。

10. 平均故障响应时间

TAT,即从出现故障到该故障得到确认修复前的这段是时间。该指标反映的是服务水平。

11. 兼容性

5.1.2 网络

  1. 设备级性能指标。计算机网络设备(主要指路由器)的标准性能指标主要包括吞吐量(信道的最大吞吐量为“信道容量”)、延迟、丢包率和转发速度等。
  2. 网络级性能指标。可达性、网络系统的吞吐率、传输速率、信道利用率、信道容量、带宽利用率、丢包率、平均传输延迟、平均延迟抖动、延迟/吞吐量的关系、延迟抖动/吞吐量的关系、丢包率/吞吐量的关系等。
  3. 应用级性能指标。QOS、网络对语言应用的支持程度、网络对视频应用的支持程度、延迟/服务质量的关系、丢包率/服务质量的关系、延迟抖动/服务质量的关系等。
  4. 用户级性能指标。可靠性和可用性。
  5. 吞吐量。在没有帧丢失的情况下,设备能够接受的最大速率。

5.1.3 操作系统

  1. 系统的可用性
  2. 系统的吞吐量。指系统在单位时间内所处理的信息量,以每小时或每天所处理的各类作业的数量来度量。
  3. 系统响应时间,指用户从提交作业到得到计算结果这段时间,又称周转时间。
  4. 系统资源利用率。指系统中各部件、各设备的使用程度。它用在给定时间内,某一设备实际使用时间所占的比例来度量。
  5. 可移植性

5.1.4 数据库管理系统

  1. 数据库描述功能,定义数据库的全局逻辑结构,局部逻辑结构和其他各种数据库对象。
  2. 数据库管理功能。包括系统配置与管理,数据存取与更新管理,数据完整性管理和数据安全性管理、
  3. 数据库的哈讯和操纵功能,包括数据库检索和修改。
  4. 数据库维护功能。包括数据库引入引出功能,数据库结构维护,数据恢复功能和性能监测。

因此,衡量数据库管理系统的主要性能指标包括数据库本身和管理系统两部分。

数据库和数据库管理系统的性能指标包括数据库的大小、单个数据库文件的大小、数据库中表的数量、单个表的大小,表中允许的记录(行)数量、单个记录(行)的大小、表上所允许的索引数量、数据库所允许的索引数量、最大并发事务处理能力、负载均衡能力,最大连接数。

5.1.5 Web服务器

最大并发连接数、响应延迟、吞吐量(每秒处理的请求数)、成功请求数、失败请求数、每秒点击次数、每秒成功点击次数、每秒失败点击次数、尝试连接数、用户连接数等。

5.2 性能计算

性能指标计算的主要方法有:定义法、公式法、程序检测法、仪器检测法。定义法主要根据其定义直接获取其理想数据,公式法一般适用于根据基本定义所衍生出的复合性能指标的计算,而程序检测法和仪器检测法则是通过实际的测试来得到其实际值。

1. MIPS的计算方法

$$
MIPS=\frac{指令条数}{执行时间\times10^6}=\frac{F_z}{CPI}=IPC\times F_z
$$

公式中,$F_z$为处理机的工作主频,CPI为每条指令所需的平均时钟周期数,IPC为每个时钟周期平均执行的指令条数。

2. 峰值计算

衡量计算机性能的一个重要指标就是计算峰值或者浮点计算峰值,他是计算机每秒钟能够完成的浮点计算最大次数。包括理论浮点峰值和实测浮点峰值。

理论浮点峰值是该计算机理论上能够达到的每秒钟能完成浮点计算最大次数,它主要是由CPU的主频决定。

$$
理论浮点峰值=CPU主频\times CPU每个时钟周期执行浮点运算的次数\times 系统中CPU数
$$

CPU每个时钟周期执行浮点运算的次数是由处理器中浮点运算单元的个数及每个浮点运算单元在每个时钟周期能处理几条浮点运算决定的。

3. 等效指令速度

静态指令使用频度指的是程序中直接统计的计算机速度。动态指令使用频度指的是在程序执行过程中统计的指令速度。

5.3 性能设计

5.3.1 阿姆达尔解决方案

阿姆达尔定律是这样的:系统中对某部件采用某种更快的执行方式,所获得的系统性能的改变程度,取决于这种方式被使用的频率,或所占总执行时间的比例。

阿姆达尔定律定义了采用特定部件所取得的加速比。

加速比反映了使用增强部件之后完成一个任务比不使用增强部件完成同一任务加快了多少。加速比主要取决于两个因素:

  1. 在原有的计算机上,能被改进并增强的部分在总执行时间中所占的比例。这个值,称为增强比例,它永远小于等于1.
  2. 通过增强的执行方式所取得的改进,即如果整个程序使用了增强的执行方式,那么这个任务的执行速度会有多少提高,这个值是在原来条件下程序的执行时间与使用增强功能后程序的执行时间之比。

5.3.2 负载均衡

由多台服务器以对称的方式组成一个服务器集合,每台服务器都具有等价的地位,都可以单独对外提供服务而无需其他服务器的辅助。通过某种负载分担技术,将外部发来的请求均匀的分配到对称结构中的某一台服务器上,而接收到请求的服务器独立的回应客户的请求。

1. 负载均衡技术的类型

  1. 基于特定服务器软件的负载均衡,如网络协议中的重定向功能。
  2. 基于DNS的负载均衡。通过DNS服务红的随机名字解析来实现负载均衡。
  3. 反向代理负载均衡。使用代理服务器可以将请求转发给内部的Web服务器,使用这种加速模式可以提升静态网页的访问速度。
  4. 基于NAT(网络地址转化)的负载均衡技术。网络地址转换指的是在内部地址和外部地址之间进行转换,以便具备内部地址的计算机能访问外部网络,而当外部网络中的计算机访问地址转换网关拥有的某一外部地址时,地址转换网关能将其转发到一个映射的内部地址上。
  5. 扩展的负载均衡技术。即使用半中心的负载均衡方式,当客户请求发送给负载均衡器的时候,中心负载均衡器将请求打包并发送给某个服务器,而服务器的回应请求不再返回给中心负载均衡器,而是直接返回给客户,因此中心负载均衡器只负责接受并转发请求,其网络负担就较小了。

2. 服务器负载均衡

一般用于提供服务器的整体处理能力,并提高可靠性、可用性和可维护性,最终目的是加快服务器的响应速度,从而提高用户的体验度。

负载均衡从结构上分为本地负载均衡和全域负载均衡,前者是指对本地的服务器群做负载均衡,后者是指对分别放置在不同的地理位置、有不同的网络及服务器群之间做负载均衡。

全域负载均衡具有以下特点:

  1. 解决网络拥塞问题,服务就近提供,实现地址位置无关性;
  2. 对用户提供更好的访问质量;
  3. 提高服务器响应速度;
  4. 提高服务器及其他资源的利用效率;
  5. 避免了数据中心单点失效。

5.4 性能评估

是对一个系统进行各项检测,并形成一份直观的文档。

5.4.1 基准测试程序

把应用程序中用得最多、最频繁的那部分核心程序作为评价计算机性能的标准程序。称为基准测试程序。

  1. 证书测试程序:Dhrystone。用C语言编写,100条语句。包括:各种赋值语句、各种数据类型和数据区、各种控制语句、过程调用和参数传送、整数运算和逻辑运算。
  2. 浮点测试程序:Linpack。用FORTRAN语言编写,主要是浮点加法和浮点乘法操作。用MFPOPS表示GFLOPS、TFLOPS。
  3. Whetstone基准测试程序。用FORTRAN语言编写的综合性测试程序,主要包括:浮点运算、整数算数运算、功能调用、数组变址、条件转移、超越函数。测试结果用Kwips表示。
  4. SPEC基准测试程序。
  5. TPC基准测试程序
  6. Linpack测试。是国际上最流行的用于测试高性能计算机系统浮点性能的测试。通过对高性能计算机采用高斯消元法求解一元N次稠密线性代数方程组的测试,评价高性能计算机的浮点性能。

5.4.2 Web服务器的性能评估

在测试中,能够反应其性能的主要包括最大并发连接数、响应延迟和吞吐量几个参数。

现在常见的Web服务器性能评估方法有基准性能测试、压力测试和可靠性测试。基准测试即采用前面所提到的各种基准程序对其进行测试;压力测试则是采用一些测试工具来测试Web服务器的一些性能指标,如最大并发连接数,间接测试响应时间,以及每秒可以处理的请求数目。

5.4.3 系统监视

目标是为了评估系统性能。要监视系统性能,需要收集某个时间段内的3中不同类型的性能数据。

  1. 常规性能数据。
  2. 比较基准的性能数据。
  3. 服务水平报告数据。

你可能感兴趣的:(系统架构设计师学习笔记 第五章 系统性能评价)