什么是QoS?
提到QoS,就要先了解QoE
QoE是应用程序或服务的用户的喜悦程度或烦恼程度。 它是用户体验的期望或享受期望,根据用户的个性和当前状态而不同。简单来说,就是QoE=用户感觉到的“质量”或“性能”或“舒适度”)
QoS
- QoS是关于将底层网络服务提供给应用层服务的保证。
- QoS机制提供了用于确保应用程序在交付时所需的网络资源以实现用户QoE(体验质量)的预期水平的手段。
去中心化存储作为一个未来基本底层应用网络平台之一,必须能够提供优质的QoS。开发者才能基于可靠的去中心化存储平台,提供出优质的QoE。
基本的存储平台,应该有哪些关键QoS
去中心化存储平台也是存储平台,如果想要做到能够商用,首先就要达做到基本的存储平台所具有的QoS。那么基础的存储平台,应该有哪些QoS呢?
1.高可用
高可用性是系统的一个特征,目的在确保达到一致的运营绩效水平,通常是正常运行时间,高于正常水平。
衡量高可用最重要的就是SLA,也就是 Service-Level Agreement,一般用9的个数来表述,99.9%就是3个9,99.99%就是4个9。这个一般是指对于每一个存储的内容而言,有百分之多少的时间是可以正常工作提供服务的,下面这个表可以直观感受一下SLA。
在去中化存储中,SLA里的Downtime计算指用户的请求服务在指定的时间内没有得到回复。
2.高可靠
高可靠性是指向发送方向预期接收方提供数据传输正确的保证,这与不可靠的协议相反,不可靠协议是指不提供向预期接收方传递数据的保证。
在去中心化存储中,高可靠性是指用户能够100%的获得存储的数据,也即至少有一个副本不能够丢失,指定的副本数应该处于平衡状态。
3.高性能
性能是指,其他相关的指标,包括
1)传输速度
2)请求响应时间
等。
这些数据非常关键,而且需要分地域分时段统计,因为不同地域和不同时段这些数据可能很不一样。
去中心化存储的关键Qos
除了基本存储平台的关键QoS,去中心化存储还有一些额外关键的QoS。下面分两部分介绍,一部分是P2P系统的QoS,一部分是硬盘矿机的QoS,去中心化存储除了用户和矿工外,一定还需要其他节点(如FileCoin的检索矿工,就算是其他节点,提供数据检索服务),这个节点也有QoS。
1. P2P系统的QoS
去中心化存储平台,其传输方式采用数据类Peer to peer的传输方式(类似于 BitTorrent, PPLive, EDonkey)就会具有P2P传输系统的QoS。
P2P传输系统的关键QoS:
1)发现拥有相同资源节点的速率。
2)快速区分高速节点和非高速节点的时间。
3)无用协议率。在P2P传输系统中,只要不是实际传输文件内容的协议消耗,就是无用协议。无用协议率就是指无用协议的大小占所有协议大小的比。
4)数据传输冗余率。在P2P传输系统中,有时候会出现向PeerA请求数据,但是PeerA因为传输很慢,在一定情况下就会向PeerB请求数据,PeerA和PeerB都传输了相同的部分数据,这个就是数据传输冗余。数据传输冗余率就是而冗余的传输占正常传输的比重。
5)数据请求拒绝率。有又时候请求数据时,存储矿工因为找不到数据而无法返回。可能硬盘坏了,可能逻辑错误,也不排除存储矿工故意作恶的情况,有数据但不给的情况。不论怎样,数据请求算是拒绝了。那么,数据请求拒绝率就是被拒绝的请求和正常返回正确数据的请求数量之比。
6)错误协议数据占比。由于P2P传输系统并不是那么干净,可能版本不一致产生协议误差,也可能存在黑客恶意攻击,伪造协议报文,从而产生错误的协议。错误协议数据占比就是衡量P2P有百分之多少是错误的协议。
7)NAT穿越相关指标。和NAT穿越还有不少指标,如穿透时间,穿透率等。
等
2. 存储矿机的QoS
存储矿机的健康情况,也关系到整个网络的健康,我认为去中心化存储要做好,需要把基于ARM的低性能低功耗的计算机利用起来提供存储,因为这样的机器成本低,对存储矿工而言,相对的收益就会更多。所以,提炼出存储矿机的Qos,就非常重要。
1)响应速度。这是收到请求后,平均多少时间给出相应。
2)内存缓存命中率。作为存储服务而言,不能所有的数据都从硬盘上读取,对于经常访问的内容,会在内存中做缓存,而内容缓存命中率就是衡量内容缓存有效性和带宽利用有效性的重要指标。
3)安全消耗,也就是加密和解密产生的性能占比。出于作为安全考虑,会有大量的加密和解密工作,那么这些工作占用了多少CPU性能和内存资源是能够量化的。
4)请求错误率。有多少请求不能正确的返回数据。 5)不正常空间使用占比。硬盘换坏的部分是不能正常服务,这就是不正常空间,而硬盘上往往坏了一点,就会影响整个区域(PPIO中是一个Plot)不能正常提供服务。整个硬盘上所有不正常空间大小和整个空间大小占比,就是这个指标。
等
3. 其他节点的QoS
1)响应速度。这是收到请求后,平均多少时间给出响应。
2)安全消耗。也就是加密和解密产生的性能占比,类似存储矿工的QoS。
等
不同角色的节点还有着各自特色的QoS。