TDengine:taosBenchmark的使用方式

news/2024/7/4 8:00:25 标签: tdengine, 大数据, 时序数据库, 数据库

小 T 导读:用户在做数据库>时序数据库(Time Series Database,TSDB)的选型调研时,通常要进行环境模拟测试,以观察所选数据库的性能优劣和成本损耗情况。为方便用户,TDengine 官方提供了一款名为 taosBenchmark 的测试工具,本文将会详细讲解其使用方式,供读者参考。

taosBenchmark (曾用名 taosdemo ) 是一个用于测试 TDengine 产品性能的工具。taosBenchmark 可以测试 TDengine 的插入、查询和订阅等功能的性能,它可以模拟由大量设备产生的大量数据,还可以灵活地控制数据库、超级表、标签列的数量和类型,数据列的数量和类型,子表的数量,每张子表的数据量,插入数据的时间间隔,taosBenchmark 的工作线程数量,是否以及如何插入乱序数据等。为了兼容过往用户的使用习惯,TDengine 安装包提供 了 taosdemo 作为 taosBenchmark 的软链接。

安装

taosBenchmark 有两种安装方式:

  • 安装 TDengine 官方安装包的同时会自动安装 taosBenchmark,详情请参考 TDengine 安装(安装和卸载 | TDengine 文档 | 涛思数据)。
  • 单独编译 taos-tools 并安装,详情请参考 taos-tools 仓库(GitHub - taosdata/taos-tools: taos-tools are some useful tool collections for TDengine.)。

运行

配置和运行方式

taosBenchmark 需要在操作系统的终端执行,该工具支持两种配置方式:命令行参数和 JSON 配置文件。但这两种方式是互斥的,在使用配置文件时只能使用一个命令行参数 -f <json file> 指定配置文件;在使用命令行参数运行 taosBenchmark 并控制其行为时则不能使用 -f 参数而要用其它参数来配置。除此之外,taosBenchmark 还提供了一种特殊的运行方式,即无参数运行。

taosBenchmark 支持对 TDengine 做完备的性能测试,其所支持的 TDengine 功能分为三大类:写入、查询和订阅。这三种功能之间是互斥的,每次运行 taosBenchmark 只能选择其中之一。值得注意的是,所要测试的功能类型在使用命令行配置方式时是不可配置的,命令行配置方式只能测试写入性能。若要测试 TDengine 的查询和订阅性能,必须使用配置文件的方式,通过配置文件中的参数 filetype 指定所要测试的功能类型。

具体的命令行参数和 JSON 配置文件,可移步至 taosBenchmark | TDengine 文档 | 涛思数据 进行查阅。但需要注意的是,在运行 taosBenchmark 之前一定要确保 TDengine 集群已经在正确运行。

无命令行参数运行

执行下列命令即可快速体验 taosBenchmark 对 TDengine 进行基于默认配置的写入性能测试。

taosBenchmark

在无参数运行时,taosBenchmark 默认连接 /etc/taos 下指定的 TDengine 集群,并在 TDengine 中创建一个名为 test 的数据库,test 数据库下创建名为 meters 的一张超级表,超级表下创建 10000 张表,每张表中写入 10000 条记录。注意,如果已有 test 数据库,这个命令会先删除该数据库后建立一个全新的 test 数据库

使用命令行配置参数运行

在使用命令行参数运行 taosBenchmark 并控制其行为时,-f <json file> 参数不能使用。所有配置参数都必须通过命令行指定。以下是使用命令行方式测试 taosBenchmark 写入性能的一个示例。

taosBenchmark -I stmt -n 200 -t 100

在上面的命令中, taosBenchmark 将创建一个名为test数据库,在其中建立一张超级表meters,在该超级表中建立 100 张子表并使用参数绑定的方式为每张子表插入 200 条记录。

使用配置文件运行

taosBenchmark 安装包中提供了配置文件的示例,位于<install_directory>/examples/taosbenchmark-json 下,使用如下命令行即可运行 taosBenchmark 并通过配置文件控制其行为。

taosBenchmark -f <json file>

更多配置相关内容,参考 taosBenchmark | TDengine 文档 | 涛思数据 。如在实践中遇到更多实际问题,联系小 T 进入指定的 TDengine 官方用户群,专业的社区技术人员会帮助你答疑解惑,理顺思路。

欢迎添加小T(VX:TDengine),加入物联网技术讨论群,第一时间了解TDengine 官方信息,与关注前沿技术的同学们共同探讨新技术、新玩法。


想了解更多 TDengine Database的具体细节,欢迎大家在GitHub上查看相关源代码。


http://www.niftyadmin.cn/n/982766.html

相关文章

总结——R中查看属性的函数

本文原创&#xff0c;转载注明出处&#xff0c;本人Q1273314690 R中知道一个变量的主要内容和结构&#xff0c;对我们编写代码是很重要的&#xff0c;也可以帮我们避免很多错误。 但是&#xff0c;R中有好几个关于属性查看的函数&#xff0c;我们往往不知道什么时候使用哪个函数…

CheckBox:屏蔽setChecked方法对OnCheckedChangeListener的影

2019独角兽企业重金招聘Python工程师标准>>> 方案&#xff08;1&#xff09;&#xff1a; 程序中定义一个全局变量boolean ignoreChange&#xff0c;然后&#xff0c;调用setChecked方法时改变ignoreChange的值&#xff1a; ignoreChange true; selectAllCB.setCh…

python 套接字_Python套接字编程(指南)

python 套接字Sockets and the socket API are used to send messages across a network. They provide a form of inter-process communication (IPC). The network can be a logical, local network to the computer, or one that’s physically connected to an external ne…

助力“双11”智能化物流,顺丰、中通、韵达分享架构改造经验

⬆️ 点击图片&#xff0c;与专业的解决方案架构师聊一聊对于物流企业来说&#xff0c;如何高效地记录和处理车辆的轨迹信息、应对每天海量监控数据的采集和处理工作&#xff0c;对于项目整体的交付效率至关重要。同时&#xff0c;伴随着数字化、智能化的不断加速&#xff0c;数…

D3制作基础图表学习总结(part1)

一、基本的环境搭建&#xff08;和使用其他框架或js库一样&#xff09; 1.建立一个工程&#xff1a; 2.在html文件中引入D3的文件&#xff1a; 附上git地址&#xff1a;https://github.com/d3/d3/wiki 二、建立图表 1.线性图表&#xff1a; 画线条的思路&#xff08;下面代码都…

iOS/Android/Web Url Encode空格處理 原文連結:http://read01.com/3gDO.html

iOS/Android/Web Url Encode空格處理原文連結&#xff1a;http://read01.com/3gDO.html 前言 這裡只是講一個故事&#xff0c;一個發生在我身上的真實的故事。曾經&#xff0c;我以為搞加密很簡單&#xff0c;不就是百度幾個加密演算法回來就可以了嗎&#xff1f;百度上一大堆呢…

TDengine:无模式写入行协议的四种方式

小 T 导读&#xff1a;为了在数据采集项频繁变动的情况下保证用户仍然能够顺利地完成数据记录工作&#xff0c;TDengine 提供了三种无模式写入协议&#xff0c;分别是 InfluxDB Line 协议、OpenTSDB Telnet 协议和 OpenTSDB JSON 格式协议。本文将对无模式写入方式的主要处理逻…

== 与 is

Python中的对象包含三要素&#xff1a;id、type、valueid&#xff1a;用来唯一标识一个对象&#xff1b; type&#xff1a;标识对象的类型&#xff1b; value是对象的值。 是判断对象的值是否相等&#xff0c;也就是value&#xff0c;is是判断对象是否就是本身&#xff0c;也就…