李毕生
作者李毕生·2024-05-09 11:42
金融解决方案架构师·华为技术有限公司

国产分布式数据库采用服务器本地NVMe盘,性能真的能达成期望的高性能吗?

字数 874阅读 367评论 0赞 0

近日,与一金融用户交流,客户说,某厂商推荐用服务器本地盘,配置了6块盘,认为这样性能很好,本地盘插在服务器上路径短,性能想当然就应该不错。这个现象还不少,其实看看下图的架构,左边服务器配置了几块盘,写1主2从,其实数据库整体性能是主节点几块盘堆积的并发性能减去主从网络同步的影响,性能的上限就单服务器的那么几块能堆出多少IOPS性能?如果叠加跑批、备份,几块SSD真的能hold住?

而右边方案是一大行的方案,采用外置存储池化,里面可能是100块盘甚至更多堆积的并发性能,减去主从同步的影响,性能上限远远高于左边的几块盘,跑批、备份也能应对业务峰值,当然这个时候服务器主节点CPU的性能就可能是瓶颈了。所以部分厂商想当然的认为本地盘离CPU路径短,性能好,其实是不对的。

针对NVMe盘,整体方案性能,本地盘时延很好,几十us级别,但是从数据库计算代理节点到数据库节点再到从节点同步网络复制以及同步到同城灾备中心,这几段合计时间基本是1~3ms级别甚至网络抖动会更高,95%的时延消耗在跨节点的网络传输上,而本地NVMe盘的us级时延基本可以忽略不计。经过实际测试,下图的性能数据看,1主2从,sysbench测试数据看,第一行的使用外置存储和本地NVMe盘性能基本一致,都在1.79万TPS左右,这是两路48核鲲鹏服务器的性能数据。所以受数据库主从网络复制架构影响,本地NVMe看似性能很好,但是并没有用起来,而本地盘的可靠性相比外置企业存储是大幅下降,本地盘一块慢盘、超时盘、亚健康、单盘故障就会扩散导致数据库主从切换导致业务受影响,然后进行复杂的恢复操作,实际上得不偿失。


因为受限于本地盘就那么多几块,性能有限,容量有限,还有受网络同步复制影响50%,所以国内的某些数据库厂商专家们会推荐采用更多的分片,更多的1主多从集群,需要堆积更多CPU节点资源,但是发现利用率又很低,资源浪费严重,其实是很奇怪的逻辑,比较荒谬的。这样只会让整体架构可靠性降级,运维越来越复杂,成本反而高。听闻过某厂家方案几十TB数据要大几百台服务器来堆积,成本难道不高吗?

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

0

添加新评论0 条评论

Ctrl+Enter 发表

作者其他文章

相关文章

相关问题

相关资料

X社区推广