分布式原理-02丨分布式系统的指标

Posted by jiefang on December 30, 2019

分布式系统的指标

从分布式技术的起源可以看出,分布式系统的出现就是为了用廉价的、普通的机器解决单个计算机处理复杂、大规模数据和任务时存在的性能问题、资源瓶颈问题,以及可用性和可扩展性问题。换句话说,分布式的目的是用更多的机器,处理更多的数据和更复杂的任务

性能、资源、可用性和可扩展性是分布式系统的重要指标

性能(Performance)

性能指标,主要用于衡量一个系统处理各种任务的能力。 常见的性能指标,包括吞吐量(Throughput)、响应时间(Response Time)和完成时间(Turnaround Time)。

吞吐量

吞吐量指的是,系统在一定时间内可以处理的任务数。常见的吞吐量指标有 QPS(Queries Per Second)、TPS(Transactions Per Second)和 BPS(Bits Per Second)。

  • QPS,即查询数每秒,用于衡量一个系统每秒处理的查询数。
  • TPS,即事务数每秒,用于衡量一个系统每秒处理的事务数。
  • BPS,即比特数每秒,用于衡量一个系统每秒处理的数据量。

响应时间

响应时间指的是,系统响应一个请求或输入需要花费的时间。响应时间直接影响到用户体验,对于时延敏感的业务非常重要。

完成时间

完成时间指的是,系统真正完成一个请求或处理需要花费的时间。任务并行(也叫作任务分布式)模式出现的其中一个目的,就是缩短整个任务的完成时间。特别是需要计算海量数据或处理大规模任务时,用户对完成时间的感受非常明显。

资源占用(Resource Usage)

资源占用指的是,一个系统提供正常能力需要占用的硬件资源,比如 CPU、内存、硬盘等。

一个系统在没有任何负载时的资源占用,叫做空载资源占用,体现了这个系统自身的资源占用情况。

一个系统满额负载时的资源占用,叫做满载资源占用,体现了这个系统全力运行时占用资源 的情况,也体现了系统的处理能力。

可用性(Availability)

可用性,通常指的是系统在面对各种异常时可以正确提供服务的能力。可用性是分布式系统的一项重要指标,衡量了系统的鲁棒性,是系统容错能力的体现。

系统可用性可以用系统停止服务时间与总的时间之比衡量。 系统的可用性还可以用某功能的失败次数与总的请求次数之比来衡量。

可靠性(Reliability)和可用性有什么区别呢?

可靠性通常用来表示一个系统完全不出故障的概率,更多地用在硬件领域。而可用性则更多的是指在允许部分组件失效的情况下,一个系统对外仍能正常提供服务的概率。

可扩展性(Scalability)

可扩展性,指的是分布式系统通过扩展集群机器规模提高系统性能 (吞吐、响应时间、完成时间)、存储容量、计算能力的特性,是分布式系统的特有性质。

当任务的需求随着具体业务不断提高时,除了升级系统的性能做垂直 / 纵向扩展外,另一个做法就是通过增加机器的方式去水平 / 横向扩展系统规模。

总结

image