系统架构师(五)系统性能评价

系统性能是一个系统提供给用户的众多性能指标的混合体。它既包括硬件性能,也包括软件性能。

性能指标

计算机

  1. 时钟频率(主频):CPU 的工作节拍是由主时钟来控制的,主时钟不断产生固定频率的时钟脉冲,这个主时钟的频率即是 CPU 的主频。
  2. 高速缓存:一般采用两级高速缓存技术,高速缓冲存储器均由静态 RAM(Random Access Memory,随机存取存储器)组成
  3. 运算速度: 单位一般用 MIPS(百万条指令/秒)和 MFLOPS(百万次浮点运算/秒)。MIPS 用于描述计算机的定点运算能力;MFLOPS 则用来表示计算机的浮点运算能力。
  4. 运算精度:计算机处理信息时能直接处理的二进制数据的位数,位数越多,精度就越高。
  5. 内存的存储容量:存储容量一般用字节(Byte)数来度量。
  6. 存储器的存取周期:内存完成一次读(取)或写(存)操作所需的时间称为存储器的存取时间或者访问时间。而连续两次读(或写)所需的最短时间称为存储周期。
  7. 数据处理速率:
  8. 响应时间:响应时间既可以是原子的,也可以是由几个响应时间复合而成的。
  9. RASIS 特性:可靠性(Reliability)、可用性(Availability)、可维护性(Serviceability)、完整性(Integraity)和安全性(Security)五者的统称。
  10. 平均故障响应时间:从出现故障到该故障得到确认修复前的这段时间。
  11. 兼容性:指一个系统的硬件或软件与另一个系统或多种操作系统的硬件或软件的兼容能力

除了上述性能指标之外,还有其他性能指标,例如综合性能指标如吞吐率、利用率;定性指标如保密性、可扩充性;功能特性指标如文字处理能力、联机事务处理能力、I/O 总线特性、网络特性等。

网络

  1. 设备级性能指标:网络设备提供的通信量的特征,是确定网络性能的一个重要因素。计算机网络设备(主要指路由器)的标准性能指标主要包括吞吐量(信道的最大吞吐量为“信道容量”)、延迟、丢包率和转发速度等。
  2. 网络级性能指标:可达性、网络系统的吞吐量、传输速率、信道利用率、信道容量、带宽利用率、丢包率、平均传输延迟、平均延迟抖动、延迟/吞吐量的关系、延迟抖动/吞吐量的关系、丢包率/吞吐量的关系等。
  3. 应用级性能指标:QOS、网络对语言应用的支持程度、网络对视频应用的支持程度、延迟/服务质量的关系、丢包率/服务质量的关系、延迟抖动/服务质量的关系等。
  4. 用户级性能指标。计算机网络是一种长周期运行的系统。可靠性和可用性是长周期运行系统非常重要的服务性能,是决定系统是否有实际使用价值的重要参数。
  5. 吞吐量。在没有帧丢失的情况下,设备能够接受的最大速率。

操作系统

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

数据库管理系统

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

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

Web 服务器

Web 服务器的主要性能指标包括最大并发连接数、响应延迟、吞吐量(每秒处理的请求数)、成功请求数、失败请求数、每秒点击次数、每秒成功点击次数、每秒失败点击次数、尝试连接数、用户连接数等。

性能计算

性能指标计算的主要方法有:定义法、公式法、程序检测法、仪器检测法。定义法主要根据其定义直接获取其理想数据,公式法则一般适用于根据基本定义所衍生出的复合性能指标的计算,而程序检测法和仪器检测法则是通过实际的测试来得到其实际值(由于测试的环境和条件不定,其结果也可能相差比较大)。

  • MIPS 的计算方法:系统架构师(五)系统性能评价_第1张图片
    Fz 为处理机的工作主频,CPI(Cycles Per Instruction)为每条指令所需的平均时钟周期数,IPC 为每个时钟周期平均执行的指令条数。
  • 峰值计算:指计算机每秒钟能完成的浮点计算最大次数。包括理论浮点峰值和实测浮点峰值。
    • 理论浮点峰值是该计算机理论上能达到的每秒钟能完成浮点计算最大次数,它主要是由CPU 的主频决定。
    • CPU 每个时钟周期执行浮点运算的次数是由处理器中浮点运算单元的个数及每个浮点运算单元在每个时钟周期能处理几条浮点运算来决定的。
  • 等效指令速度:静态指令使用频度指的是在程序中直接统计的计算机速度。动态指令使用频度指的是在程序执行过程中统计的指令速度。

性能设计

阿姆达尔解决方案

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

在这里插入图片描述
加速比反映了使用增强部件后完成一个任务比不使用增强部件完成同一任务加快了多少。

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

负载均衡

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

负载均衡技术的类型

  • 基于特定服务器软件的负载均衡(较少使用):
    设计一种负载均衡的服务器。当 Web 服务器认为自己负载较大的时候,它就不再直接发送回浏览器请求的网页,而是让浏览器在服务器集群中的其他服务器上获得所需要的网页。
  • 基于 DNS(Domain Name Server,域名服务器)的负载均衡: 通过 DNS 服务中的随机名字解析来实现负载均衡,在 DNS 服务器中,可以为多个不同的地址配置同一个名字,而最终查询这个名字的客户机将在解析这个名字时得到其中一个地址。

优点:简单易行,且服务器可以位于互联网的任意位置上。
缺点:为了保证DNS数据及时更新,一般都要将DNS的刷新时间设置得较小,但太小就会造成太大的额外网络流量,并且更新了DNS数据之后也不能立即生效;DNS负载均衡无法得知服务器之间的差异。

  • 反向代理负载均衡: 使用代理服务器可以将请求均匀地转发给多台内部 Web 服务器,从而达到负载均衡的目的。

    优点:可以将负载均衡和代理服务器的高速缓存技术结合在一起;具备额外的安全性;不会出现负载集中到某个服务器的偶然现象。

  • 基于 NAT(Network Address Translation,网络地址转换) 的负载均衡技术:
    NAT指的是在内部地址和外部地址之间进行转换,以便具备内部地址的计算机能访问外部网络。

    缺点:所有的网络连接都必须通过中心负载均衡器,造成负载特别大,硬件交换机会遇到瓶颈。

  • 扩展的负载均衡技术:
    为解决上面使用网络地址转换来实现负载分担,综合是用DNS和NAT两种方式来实现,更好的方式是采用一种半中心的负载均衡方式。

性能评估

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

基准测试程序有整数测试程序Dhiystone、浮点测试程 序Unpack、Whetstone基准测试程序、SPEC基准测试程序和TPC基准程序。

Web 服务器的性能评估:
在 Web 服务器的测试中,能够反映其性能的有最大并发连接数、响应延迟和吞吐量(每秒处理的请求数)等。

现在常见的 Web 服务器性能评测方法有基准性能测试、压力测试和可靠性测试。

系统监视
进行系统监视通常有三种方式:一是通过系统本身提供的命令,如UNDC/Linux 中的W、ps、last, Windows中的netstat等;二是通过系统记录文件查阅系统在特定时 间内的运行状态:三是集成命令、文件记录和可视化技术,如Windows的Perfinon应用程序。

你可能感兴趣的:(#,章节学习,负载均衡)