• TDengine:taosBenchmark的使用方式


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

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

    安装

    taosBenchmark 有两种安装方式:

    运行

    配置和运行方式

    taosBenchmark 需要在操作系统的终端执行,该工具支持两种配置方式:命令行参数和 JSON 配置文件。但这两种方式是互斥的,在使用配置文件时只能使用一个命令行参数 -f  指定配置文件;在使用命令行参数运行 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  参数不能使用。所有配置参数都必须通过命令行指定。以下是使用命令行方式测试 taosBenchmark 写入性能的一个示例。

    taosBenchmark -I stmt -n 200 -t 100

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

    使用配置文件运行

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

    taosBenchmark -f <json file>

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

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


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

  • 相关阅读:
    随手记录第一话 -- Java中的单点登录都有哪些实现方式?
    数据库索引面试的相关问题
    因特网的组成,边缘之间的通讯方式,数据交换的方式
    static关键字的注意事项
    VMware找不到父磁盘 父虚拟磁盘在子虚拟磁盘创建之后被修改过。父虚拟磁盘的内容 ID 与子虚拟磁盘中对应的父内容 ID 不匹配
    【Java进阶】包装类
    数据结构与算法4-链表
    【postgresql】替换 mysql 中的ifnull()
    Web2 vs. Web3,社交工具的发展会有什么变化?
    python爬取深交所各行业前三上市公司市值
  • 原文地址:https://blog.csdn.net/taos_data/article/details/127647151