Tdengine 测试

本文档详细记录了在腾讯云服务器和Docker环境下安装TDengine数据库的过程,包括直接安装、Docker版本安装及启动。同时,进行了客户端登录、数据库创建、大数据量插入与查询性能测试,对比了官方宣称的性能与实际测试结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

直接安装

在我自己腾讯云服务器(2c4g)安装,先在官网下载 deb包到服务器,然后设置host名称 为td1,执行命令如下

sudo hostnamectl set-hostname td1

检测是否设置成功

hostname -f

返回为td1为成功。

设置host映射,切换到root用户,编辑**/etc/hosts**文件,在最后加入ip映射

请添加图片描述

参考 https://www.taosdata.com/blog/2019/08/09/566.html 安装 之前下载的安装包,

安装完成后相关信息如下图:

请添加图片描述

启动

sudo systemctl start taosd

查看状态

sudo systemctl status taosd

请添加图片描述

客户端登录

因为我是在服务器上登录,所以不需要在安装单独的客户端。执行

taos -h td1

结果提示不能建立连接,暂未找到原因。

所以利用docker版本来测试。

Docker 版本安装

/home/ubuntu/software/tdengine/tdengine_docker_file 建立三个挂载点,

/etc/taos/ -> 配置文件路径

/var/lib/taos -> 数据路径和

/var/log/taos -> 日志路径

启动容器

执行docker命令,启动容器并挂载,

docker run -d --name tdengine -v $PWD/taos_cfg:/etc/taos -v $PWD/taos_data:/var/lib/taos -v $PWD/taos_log:/var/log/taos -p 6030:6030 -p 6035:6035 -p 6041:6041 -p 6030-6040:6030-6040/udp tdengine/tdengine

注意

1.  -v 挂载时,前一个是宿主机文件位置,后一个是容器内路径,
2.  执行docker命令要在 当前路径下执行,宿主机当前相对路径利用$PWD代替点

进入容器

启动完成后,进入容器

docker exec -it tdengine /bin/bash

请添加图片描述

客户端登录

taos -h

数据库创建测试

taos

请添加图片描述

请添加图片描述

大数据量测试

tdengine自带一个工具,能生成大量数据并插入数据库,用于测试。

请添加图片描述

执行命令

注意:以下每条指令都包含两种,分别对应我第一次在腾讯云docker中进行的测试盒第二次在我本地NUC8电脑中docker做的测试

# 腾讯云用
taosdemo 

# nuc8 用 两者版本不一致,nuc8版本为 taosdemo verison 2.0.20.13-1b7861f
taosdemo -n 100000 -S 1000 # 每个子表10万条记录,每条记录时间戳间隔为1s

请添加图片描述

9秒完成1万张子表

请添加图片描述

官方耗时483秒,我实测1238秒,差不多20分钟完成插入10亿条记录

nuc8(4c16g 256 nvme SSD) docker 测试结果

请添加图片描述

用时472ms

查询测试

1.查询总记录数

select count(*) from test.meters;

官方0.3秒,下图为我自己实测:,下同。

请添加图片描述

nuc8(4c16g 256 nvme SSD) docker 测试结果

请添加图片描述

nuc8验证是否数据间隔为1秒

select * from test.meters limit 100;

请添加图片描述

2.查询 并聚合 最大值 最小值 平均值

select avg(f1),max(f2),min(f3) from test.meters;

select avg(current),max(voltage),min(phase) from test.meters; # 新版本表结构发生了变化

官方0.76秒,我自己实测下图:

请添加图片描述

nuc8

请添加图片描述

3.降采样,每隔10秒进行一次聚合计算

select avg(f1),max(f2),min(f3) from test.meters interval(10s);
select avg(current),max(voltage),min(phase) from test.meters interval(10s); # 新版本表结构发生了变化

请添加图片描述

我自己服务器耗时10分钟,官方耗时0.09秒,难道是ECS太拉胯?

nuc8:

请添加图片描述

耗时5.5分钟,看来不是ECS拉胯,确实达不到官方描述的时间,暂未找到原因。

4.条件查询,这个应该是最常用

select avg(f1),max(f2),min(f3) from test.meters where areaid=10;
select avg(current),max(voltage),min(phase) from test.meters where groupid=0;# 新版本表结构发生了变化

官方0.09秒,我自己
请添加图片描述

nuc8
请添加图片描述

5. 条件计数

select count(*) from test.meters where areaid=10;
select count(*) from test.meters where groupid=0;# 新版本表结构发生了变化

官方0.29s,我自己下图

请添加图片描述

nuc8:

请添加图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值