性能
常见的性能指标有:系统的吞吐能力以及系统的响应时间。
1. 系统的吞吐能力:
指系统在某一段时间可以处理的请求总数,通常用每秒处理的读操作数 (QPS,Query Per Second)或者写操作数(TPS,Transaction Per Second)来 衡量;
2. 系统的响应延迟
指从某个请求发出到接收到返回结果消耗的时间,通常用平均延时或者99.9%以上请求的最大延时来衡量。
这两个指标往往是矛盾的,追求高 吞吐的系统,往往很难做到低延迟;追求低延迟的系统,吞吐量也会受到制。因此,设计系统时需要权衡这两个指标
可用性
系统的可用性(availability)是指系统在面对各种异常时可以提供正常服务的能力。
系统的可用性可以用系统停服务(不仅仅宕机,包括bug或异常导致接口无法正常返回)的时间与正常服务的时间的比例来衡量,
例如 某系统的可用性为4个9(99.99%),相当于系统一年停服务的时间不能超过365×24×60/10000=52.56分钟。
系统可用性往往体现了系统的整体代码质量以及容错能力。
一致性
一般来说,越是强的一致性模型,用户使用起来越简单,但一般来将一致性越强性能会相对收到影响。
具体一致性的分析见下文:
深入理解分布式系统种的一致性_zxu_er的博客-优快云博客
可扩展性
系统的可扩展性(scalability)指分布式存储系统通过扩展集群服务器规模来提高系统存储容量、计算量和性能的能力。简单来说是能否通过加机器来解决单机下(或现有系统)cpu、内存以及硬盘等设备遇到的性能瓶颈问题。
随着业务的发展,对底层存储系统的性能需求不断增加,比较好的方式就是通过自动增加服务器提高系统的能力。理想的分布式存储系统实现了“线性可扩展”,即随着集群规模的增加,系统的整体性能与服务器数量呈线性关系。