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


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


我说的不一定对,本篇抛砖引玉。欢迎加我微信,或者加我QQ(9269216)进行详细的讨论。


我们需要了解并尊重常识。


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


640?wx_fmt=jpeg


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

 

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

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

 

我在2014年11月组织过一场长达数周的存储性能测试,仅测试设备的价格就超过百万元人民币;这套测试设备在当时,是全球性能最高、延时最低的企业级存储,就是戴尔的流动缓存(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年11月

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


1、测试目的:

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

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

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

 

2、网络拓补图


640?wx_fmt=png



3、软硬件配置


640?wx_fmt=png


640?wx_fmt=png


4、测试结果


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


640?wx_fmt=png


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


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


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


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


点击左下角“阅读原文”,可打开文章《戴尔Fluid Cache for SAN实现500IOPS》。这是20141202日,我在戴尔,受邀参加中国存储峰会的演讲稿。


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

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值