在公用云环境部署TDengine的那些坑
Posted DBA大董
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在公用云环境部署TDengine的那些坑相关的知识,希望对你有一定的参考价值。
使用阿里云、华为云、腾讯云、微软云、AWS等等公用云部署TDengine优点是非常明显的:
可用性高;
可动态扩展。
但是在公有云部署还是有些坑需要避免。
在TDengine写入性能估算中我们知道通常产生瓶颈的是磁盘和网络。
在公有云中,这两个也是最常见的坑。见下图阿里云对ECS服务器的规格描述:
以ecs.g5.2xlarge为例,8C/32G 对于TDengine算是比较高的配置了。但我们看网络带宽,默认提供的网卡速率是2.5Gb,最大支持4块弹性网卡。也就是说,默认网络传输速度800MB/s,最大可以扩展到3200MB/s。
下面我来看磁盘,通常我默认采用的SSD云盘,最大吞吐才300MB/s,但这个300MB/s还是打折扣的,见下图
而所谓的高效云盘,吞吐量就更低了。
坑就这样出现了。你选择了ecs.g5.2xlarge,默认1块网卡,配了1块SSD云盘,那么你的写入速度就不会超过300MB/s。
那么如何选择磁盘呢,看上图可以选择ESSD PL2,或者配置多块SSD云盘做软raid0. 不过这又会带来新的cpu消耗。
当然,坑肯定不止这些,我们的云运营商在描述产品规格时使用了太多的备注,在选型时一定要仔细阅读。如果只是备注还好,就怕有些限制不会写出来。比如说亚马逊云 AWS 上面服务器间的UDP通信是有问题的,而TDengine很多通信采用的是UDP,那么出问题就奇怪了。
关于软raid,找到一篇文档:
建议您使用RAID0或者RAID1模式,每块云盘采用相同大小的分区,从而减少云盘空间浪费。由于RAID5或者RAID6模式的奇偶校验数据会占用云盘IOPS,带来性能阻碍,因此不推荐使用RAID5或者RAID6模式
https://tech.antfin.com/docs/2/131209
以上是关于在公用云环境部署TDengine的那些坑的主要内容,如果未能解决你的问题,请参考以下文章