采用服务器NVMe盘,就能提升数据库多副本架构的性能吗?
毕须说  2024-07-27 15:49  发布于中国

近日,与一金融用户交流,客户讲,为了提升性能,服务器本地盘全部采用NVMe SSD,直通模式,时延低。仔细研究了分布式数据库的架构,见下图,

1.jpg

其采用的是1主多从方案,生产中心三副本,同城三副本,从图中可以看出,CN计算代理节点将请求发给数据库节点,数据库节点再写从副本,同城做同步复制,那么CN节点看到的时延就是图中1,3和4的时延之和,1的时延是走的TCP/IP网络,跟IP SAN的时延一致,大约0.6ms左右(10几年前出的IP SAN也是因为性能时延不如FC SAN,可靠性也不足,怕网络出误码,其也没有在数据库场景使用,仅仅在虚拟机对时延不敏感场景规模应用),3的时延跨同城网络同步复制,50公里正常就需要1ms多,当前云网很复杂,经过很多网络设备,时延可能更高。而4是写本地SSD盘的时延80us(这里换成外置存储LUN时延约0.1~0.2ms),相比两段网络时延合计超过1.6ms多,NVMe盘的时延基本忽略不计了。

所以经常听到一些数据库专家说本地NVMe盘性能时延很好,但是其实受限于数据库主从架构,更长的网络传输时延,NVMe盘并没有体现出其核心价值。另外采用TCP/IP网络做同步复制,跨同城一般是云网三层路由,经过的设备多,时延就高了,如果出现抖动,误码,会不会导致性能大幅下降,这个也可能是时延高的主要影响因素,因此数据库对网络的要求很高,而出现了时延高数据库就推给说是网络的问题来背锅。

其实分布式数据库在写的流程上跟分布式存储完全一致,分布式存储跨节点写还有ROCE来解决低时延无损传输,而当前分布式数据库都是采用TCP/IP网络,目前分布式存储主要承载虚机应用,交易型数据库都很少应用,链路质量更不如的分布式数据库的IO时延将更高,难不成大家都降低数据库的质量要求了吗?

文章来源:毕须说

毕须说公众号二维码.jpg

全部回复(
回复
回复