别骗人了!区块链的TPS超过十万? (1)
  mcY8w4sKMujI 2023年11月02日 78 0


先祝大家元旦快乐! 2019年有新的改变和新的收获!

我说的不一定对,本篇抛砖引玉。我们需要了解并尊重常识。


时至今日,当我看到还有区块链的一些项目方宣称能把TPS提高到百万、千万级甚至上亿的时候,感觉如鲠在喉,不得不吐了。说句不客气的话,项目方或者是真傻,或者是装傻和别有用心。


别骗人了!区块链的TPS超过十万? (1)_区块链


网上已经有不少专家正本清源,揭露这种忽悠方式了。今天我主要从工程实践的角度,结合我亲自参与的两次中心化存储的POC测试,来剖析并论证:


1、现阶段(一两年内),区块链TPS不可能超过10万TPS

2、现阶段(一两年内),大部分DApp对于区块链TPS要求不高,成百上千就够用了


我在2014年10月组织过一场长达数周的存储性能测试,仅测试设备的价格就超过百万元人民币;这套测试设备在当时,是全球性能最高、延时最低的企业级存储,就是戴尔的流动缓存(DELL Compellent Fluid Cache);在2016年7月,又和同事进行过性能超高的分布式存储的性能测试,用的是VMware vSAN全闪存阵列。所以,对于和存储相关的TPS值,我还是有一些发言权的。


什么是TPS?

TPS,英文全称是Transaction PerSecond,也即每秒钟能够处理的事务的数量。它是衡量系统处理能力的重要指标,体现了系统的性能。系统整体处理能力取决于处理能力最低的模块的TPS值。

 

什么是事务?

一个事务是指从客户端向系统发送请求,然后系统做出反应的过程。客户端在发送请求时开始计时,收到系统响应后结束计时。

 

举个例子,你用手机上淘宝,选择好某种商品(如华为手机)加入购物车后,选择商品的具体类别,确定购买数量,单击确定。从你单击确定,到淘宝系统完成你的这个操作,返回到原来的采购页面的这个过程,就是一个事务。

 

你感觉速度很快对吧?想象一下,如果同一时间,尤其是双十一的时候,有几十万人在同一秒内,在同一个店铺将华为手机加入购物车,淘宝系统面临的性能压力就很大了。因为它要让所有用户都感觉速度很快,否则用户体验不好,久而久之用户可能就转去京东或者其他平台了。

 

进入购物车后,你选择若干个商品进行结算,然后提交订单,确认付款,之后一般会调用支付宝完成付款。这个过程又是不同的事务,和加入购物车相比,确认付款对于系统,包括底层的IT基础设施如存储,产生的性能压力是不一样的。你会发现,即便是生活中使用电商平台的一个简单的购物流程,其实也包含了很多种不同的事务(Transaction)。

 

以支付宝为例,我们看看过去几年在双十一性能最高峰的时期,达到的TPS峰值有多高?

2015年,8.59万笔/秒;

2016年,12万笔/秒;

2017年,25.6万笔/秒;

 

从《25.6万笔/秒的交易还节省2000台服务器支付宝怎么变得这么强?》这篇文章可以获悉,达到25.6万TPS,至少用了2000个节点。2000还只是节省的量,预计实际节点总数可能远超2000。


从好几年前开始,中国双十一的支付宝已经达到了全球顶级的交易性能,这还是依托于中心化的基础设施(虽然物理架构是非中心化的,但组织还是中心化的)。很难想象,非中心化组织的区块链项目在实际落地应用中,会超过支付宝的TPS ?!


再以我亲自参与的两个存储性能测试为例,进行剖析。

一、2014年10月

全球存储性能最高、延时最低的Fluid Cache测试。Fluid Cache是彼时的一种服务器侧采用闪存结合DELL Compellent磁盘阵列的技术,数据写到多个节点的服务器内的闪存盘,就算完成一次写入。之后再异步的方式Destage(刷新)到Compellent磁盘阵列。


1、测试目的:

用户在本次测试的目的是:观察流动缓存技术能支持的最低延时、最高性能,以及在限定时 间内,查询插入提交数据库记录的最大数量,是否满足用户的期望。测试目标汇总如下:

(1)500 万条记录的并发查询插入下,延时不高于 8ms ;

(2)如果存储不是瓶颈,还能继续增加并发压力,期望 2000 万条记录的并发查询插入下,延时不高于 40ms;


2、网络拓补图





别骗人了!区块链的TPS超过十万? (1)_支付宝_02



3、软硬件配置


别骗人了!区块链的TPS超过十万? (1)_性能测试_03


别骗人了!区块链的TPS超过十万? (1)_性能测试_04


4、测试结果


在流动缓存Fluid Cache for SAN (5 个节点)的环境下,表现大大地超出了用户的期望。插入5000 万条记录: ART=6ms; TPS =65958.313; Time=12 分 45 秒。


别骗人了!区块链的TPS超过十万? (1)_性能测试_05


注意,如此高的硬件配置,包含了以高性能低延迟闻名的Mellanox网络的40Gb的交换机和4万兆的万兆网卡,TPS最高不超过6.6万。


这是中心化的高性能的顶级存储,而且配置了低延迟的网络。想想如果是区块链,无论是公链或者联盟链,物理硬件条件远远不如的条件下,怎么可能超过10万TPS?!


虽然几年后,硬件不断升级,但存储核心部件NVMe SSD的性能,并未有质的飞跃,而且决定区块链性能的因素有很多。


未完待续……,下一篇更精彩,还有更多数据和分析。

注意IOPS指的是评估存储性能,每秒多少个IO,和TPS不一样。事务复杂度不同,可能产生的IO个数也不同,一个Transaction(也即事务)产生的IO从几十个到上千个不等。所以500万IOPS,产生的TPS可能是几万个

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
mcY8w4sKMujI