上海做网站好的公司找谁做百度关键词排名

张小明 2026/3/12 4:06:45
上海做网站好的公司,找谁做百度关键词排名,加工制造网,个体户网上注册从 3.3.7.0 开始#xff0c;在 TDengine 安装包中多了一个新工具 taosgen, 此工具是替换 taosBenchmark 的新的基准性能测试工具#xff0c;taosgen 支持数据生成、写入性能测试等功能。taosgen 以“作业”为基础单元#xff0c;作业是由用户定义#xff0c;用于完成特定任…从 3.3.7.0 开始在 TDengine 安装包中多了一个新工具 taosgen, 此工具是替换 taosBenchmark 的新的基准性能测试工具taosgen 支持数据生成、写入性能测试等功能。taosgen 以“作业”为基础单元作业是由用户定义用于完成特定任务的一组操作集合。每个作业包含一个或多个步骤并可通过依赖关系与其他作业连接形成有向无环图DAG式的执行流程实现灵活高效的任务编排。taosgen 目前支持 Linux 和 macOS 系统。taosBenchmark 与 taosgen 功能对比taosgen 相比 taosBenchmark具有以下优势和改进提供作业编排能力作业支持 DAG 依赖关系能模拟真实业务流程。支持多种目标/协议TDengine、MQTT、Kafka可用于数据库写入、消息发布等多种场景。更丰富的数据生成方式。支持 lua 表达式生成数据便于模拟真实业务数据。支持即时数据生成无需预先生成大批量数据文件节省准备时间和模拟真实场景。支持使用多种时间间隔策略控制数据写入操作如根据数据产生的真实时间“播放”数据。未知或错误配置项自动检测能够及时发现并提示配置文件中的拼写错误或无效参数提升配置安全性和易用性。支持 TDengine 数据库连接池能够高效管理和复用数据库连接资源。taosgen 解决了 taosBenchmark 难以灵活配置、数据生成方式单一、扩展性不足等问题更适合现代物联网、工业互联网的大数据测试需求。工具获取根据需要选择下载 taosgen 工具。下载二进制发布包到本地解压缩为了便捷访问可以创建符号链接存放到系统执行目录中如 Linux 系统下执行命令tarzxvf tsgen-v0.3.0-linux-amd64.tar.gzcdtsgenln-sfpwd/taosgen /usr/bin/taosgen运行taosgen 支持通过命令行、配置文件指定参数配置相同的参数配置命令行优先级要高于配置文件。:::tip在运行 taosgen 之前要确保所有待写入的目标 TDengine TSDB 集群已经在正常运行。:::启动示例taosgen -h127.0.0.1 -c config.yaml命令行参数命令行参数功能说明-h/–host指定要连接的服务器的主机名称或 IP 地址默认值为 localhost-P/–port指定要连接的服务器的端口号默认值为 6030-u/–user指定用于连接服务器的用户名默认为 root-p/–password指定用于连接服务器的密码默认值为 taosdata-c/–config-file指定 yaml 格式配置文件的路径-?/–help显示帮助信息并退出-V/–version显示版本信息并退出不能与其它参数混用提示当没有指定参数运行 taosgen 时默认会创建 TDengine 数据库 tsbench、超级表 meters、1 万张子表并为每张子表批量写入 1 万条数据。配置文件参数整体结构配置文件分为“tdengine”、“mqtt”、“kafka”、“schema”、“concurrency”、“jobs” 几部分。tdengine描述 TDengine 数据库的相关配置参数。mqtt描述 MQTT Broker 的相关配置参数。kafka描述 Kafka Broker 的相关配置参数。schema描述数据定义和生成的相关配置参数。concurrency描述作业执行的并发度。jobs列表结构描述所有作业的具体相关参数。作业的格式作业Job是由用户定义并包含一组有序的步骤steps。每个作业具有唯一的作业标识符即键名并可指定依赖关系needs以控制与其他作业之间的执行顺序。作业的组成包括以下属性作业标识符Job Key字符串类型表示该作业在 jobs 列表中的唯一键名用于内部引用和依赖管理。name字符串类型表示作业的显示名称用于日志输出或 UI 展示。needs列表类型表示当前作业所依赖的其他作业的标识符列表。若不依赖任何作业则为空列表。steps列表类型由一个或多个步骤Step组成按顺序依次执行定义了该作业的具体操作流程。作业默认继承全局配置如 tdengine、schema 等。步骤的格式步骤Step是作业中基础的操作单位代表某一种具体操作类型的执行过程。每个步骤按顺序运行并可以引用预定义的 Action 来完成特定功能。步骤的组成包括以下属性name字符串类型表示该步骤的显示名称用于日志输出和界面展示。uses字符串类型指向要使用的 Action 路径或标识符指示系统调用哪一个操作模块来执行此步骤。with映射字典类型包含传递给该 Action 的参数集合。参数内容因 Action 类型而异支持灵活配置。通过组合多个步骤作业能够实现复杂的逻辑流程例如 TDengine 创建超级表 子表、TDengine 写入数据等。全局配置参数TDengine 参数tdengine描述 TDengine 数据库的相关配置参数它包括以下属性dsn字符串表示要连接的 TDengine 数据库的 DSN 地址默认值为taosws://root:taosdatalocalhost:6041/tsbench。drop_if_exists布尔表示数据库已存在时是否删除该数据库默认为 true。props字符串表示数据库支持的创建数据库的属性信息。例如precision ms vgroups 20 replica 3 keep 3650分别设置了虚拟组数量、副本数及数据保留期限。precision指定数据库的时间精度可选值为“ms”、“us”、“ns”。vgroups指定数据库的虚拟组的个数。replica指定数据库的副本格式。pool连接池配置包含如下属性enabled布尔表示是否启用连接池功能默认值为 truemax_size整型表示连接池的最大容量默认值为 100min_size整型表示连接池的最小容量默认值为 2timeout整型表示获取连接超时时间单位毫秒默认值为 1000MQTT 参数mqtt描述 MQTT Broker 的相关配置参数它包括以下属性uri字符串MQTT Broker 的 uri 地址默认值为 tcp://localhost:1883。user字符串登录 Broker 的用户名。password字符串登录 Broker 的密码。client_id字符串客户端唯一标识符前缀默认值为 taosgen。keep_alive整数超时没有消息发送后会发送心跳单位为秒默认值为 5。clean_session布尔是否清除就会话状态默认值为 true。max_buffered_messages整数客户端的最大缓冲消息数默认值为 10000。Kafka 参数kafka描述 Kafka Broker 的相关配置参数它包括以下属性bootstrap_servers (字符串)Kafka 集群地址列表格式为 “host:port”多个地址用逗号分隔。client_id字符串客户端唯一标识符前缀默认值为 taosgen。topic (字符串)指定要写入的 Kafka Topic 名称。rdkafka_options映射可指定底层 librdkafka 库支持的可选参数如security.protocol、sasl.mechanisms、sasl.username、sasl.password。security.protocol (字符串)指定客户端与 Kafka 集群之间通信的安全协议。可选值“plaintext”明文传输无加密默认若未配置。“ssl”使用 SSL/TLS 加密通信。“sasl_plaintext”使用 SASL 进行身份验证但通信为明文。“sasl_ssl”使用 SASL 进行身份验证并使用 SSL/TLS 加密通信。默认值未设置即等效于 “plaintext”。sasl.mechanism (字符串)当 security.protocol 设置为 “sasl_plaintext” 或 “sasl_ssl” 时指定使用的 SASL 身份验证机制。常见可选值“PLAIN”简单的用户名/密码验证常用于外部身份提供商或基本认证。“SCRAM-SHA-256”基于挑战 - 响应的更安全机制比 PLAIN 更安全。“SCRAM-SHA-512”比 SHA-256 更强的哈希算法。“GSSAPI”用于 Kerberos 认证。注意此字段必须与 security.protocol 同时配置且其值取决于 Kafka Broker 端启用的 SASL 机制。sasl.username (字符串)SASL 身份验证的用户名。当使用 “PLAIN” 或 “SCRAM” 机制时需要提供。sasl.password (字符串)SASL 身份验证的密码。更多参数请参考 librdkafka 配置文档。schema 参数schema描述数据定义和生成模式的相关配置参数。name字符串schema 的名称。from_csv描述 CSV 文件作为数据源时的相关配置参数。tags描述 tags 的配置参数。file_path字符串标签数据 CSV 文件路径。has_header布尔是否包含表头行默认为 true。tbname_index整数指定表名称所在的列索引从 0 开始默认为 -1表示未生效。exclude_indices字符串如果仅想使用部分标签列时此参数用于指定剔除的无用标签列的索引从 0 开始列索引之间使用英文逗号分隔默认值为空表示不剔除。columns时序数据列的配置参数。file_path字符串时序数据 CSV 文件路径。has_header布尔是否包含表头行默认为 true。repeat_read布尔是否重复读取数据默认为 false。tbname_index整数指定子表名称所在的列索引从 0 开始默认为 -1表示未生效。timestamp_index整数指定时间戳列的索引从 0 开始默认为 -1表示未生效。timestamp_precision字符串表示时间戳列的时间精度可选值为 “s”、“ms”、“us”、“ns”。timestamp_offset描述时间戳数值的偏移配置参数。offset_type字符串表示时间戳偏移类型可选值为“relative”、“absolute”。value字符串或整型表示时间戳的偏移量relative或起始时间戳absolute时间戳偏移类型为 “relative” 时字符串类型格式为 ±[数值][单位] 组合示例“1d3h” 表示加 1 天 3 小时支持以下时间单位y年偏移量m月偏移量d天偏移量s秒偏移量时间戳偏移类型为 “absolute” 时整型或字符串类型格式如下时间戳数值精度由 timestamp_precision 参数决定ISO 8601 格式字符串“YYYY-MM-DD HH:mm:ss”tbname描述生成表名称的相关配置参数prefix字符串表名前缀默认为 “d”。count整数要创建的表数量默认为 10000。from整数表名称的起始下标包含默认为 0。tags列表描述表标签列结构的模式定义。默认配置为groupid INT, location VARCHAR(24)。columns列表描述表普通列结构的模式定义。默认配置为ts TIMESTAMP, current FLOAT, voltage INT, phase FLOAT。generation描述数据生成行为相关的配置参数。interlace整数控制交错方式生成表数据的行数默认值为 0表示不启用交错模式。concurrency整数表示生成数据的线程数量默认值为写入线程数量。rows_per_table整数每个数据表写入的行数默认值为 10000-1 表示无限数据。rows_per_batch整数表示每次批量请求写入的最大行数默认值为 10000。num_cached_batches整数表示提前生成数据并缓存批量请求的数量0 表示关闭数据缓存默认值为 10000。tables_reuse_data布尔多表是否复用相同数据默认为 true。列配置包含属性每列包含以下属性name字符串表示列的名称当 count 属性大于 1 时name 表示的是列名称前缀比如namecurrentcount3则 3 个列的名字分别为 current1、current2、current3。type字符串表示数据类型支持以下类型不区分大小写与 TDengine 的数据类型兼容整型timestamp、bool、tinyint、tinyint unsigned、smallint、smallint unsigned、int、int unsigned、bigint、bigint unsigned。浮点型float、double、decimal。字符型nchar、varcharbinary。目前还不支持以下数据类型json、geometry、varbinary、decimal、blob。count整数表示指定该类型的列连续出现的数量例如 count4096 即可生成 4096 个指定类型的列。props字符串表示 TDengine 数据库的列支持的属性信息可以包含以下属性encode指定此列两级压缩中的第一级编码算法。compress指定此列两级压缩中的第二级加密算法。level指定此列两级压缩中的第二级加密算法的压缩率高低。gen_type字符串指定此列生成数据的方式默认值为 random支持的类型有random随机方式生成。order按自然数顺序增长仅适用整数类型。expression根据表达式生成。适用整数类型、浮点数类型 float、double 和字符类型。数据生成方式详解random随机方式生成distribution字符串表示随机数的分别模型目前仅支持均匀分布后续按需扩充默认值为 “uniform”。min浮点数表示列的最小值仅适用整数类型和浮点数类型生成的值将大于或等于最小值。max浮点数表示列的最大值仅适用整数类型和浮点数类型生成的值将小于最大值。values列表指定随机数据的取值范围生成的数据将从中随机选取。order按自然数顺序增长仅适用整数类型达到最大值后会自动翻转到最小值min整数表示列的最小值生成的值将大于或等于最小值。max整数表示列的最大值生成的值将小于最大值。expression根据表达式生成。适用于整数类型、浮点类型和字符类型。如果未显式指定 gen_type但检测到包含 expr 属性则会自动设置 gen_type 为 expression。expr字符串表示生成数据的表达式内容表达式语法采用 lua 语言内置变量_i表示调用索引从0开始如“2 math.sin_i/10”_table表示该表达式为哪张表构建数据_last表示该表达式上次返回的数值仅对数值类型生效初始值为 0.0为了说明表达式方式的数据描述能力下面举一个更复杂的表达式样例math.sin_i/7*math.cos(_i/13)0.5*math.random80,120/100*_i%5025and10.3*math.sin(_i/3))or0.7)10*(math.floor(_i/100)%2)它结合了多种数学函数、条件逻辑、周期性行为和随机扰动模拟一个非线性、带噪声、分段变化的动态数据生成过程组成部分A B× C D。功能分解说明部分内容类别作用Amath.sin_i / 7 * math.cos_i / 13基础信号双频调制生成复杂波形拍频效应B0.5 *math.random80, 120 / 100噪声添加 80%~120% 的随机扰动模拟噪声C_i % 50 25 and1 0.3 * math.sin_i / 3 or 0.7动态增益调制每 50 次调用切换一次增益前 25 次高增益后 25 次低增益D10 *math.floor_i / 100 % 2基线阶跃变化每 100 次调用切换一次基线0 或 10模拟阶跃变化表示高峰/低谷行动的种类行动Action是封装好的可复用操作单元用于完成特定功能。每个行动代表一类独立的操作逻辑可以在不同的步骤Step中被调用和执行。通过将常用操作抽象为标准化的行动模块系统实现了良好的扩展性与配置灵活性。同一类型的行动可以在多个步骤中并行或重复使用从而支持多样化的任务流程编排。例如创建数据库、定义超级表、生成子表、写入数据等核心操作均可通过对应的行动进行统一调度。目前系统支持以下内置行动tdengine/create-database用于创建 TDengine 数据库tdengine/create-super-table用于创建 TDengine 超级表tdengine/create-child-table用于创建 TDengine 超级表的子表tdengine/insert用于向指定的 TDengine 数据库中写入数据mqtt/publish用于向指定的 MQTT Broker 发布数据kafka/produce用于向指定的 Kafka Broker 发布数据每个行动在调用时可通过 with 字段传入参数具体参数内容因行动类型而异。创建 TDengine 数据库行动的格式tdengine/create-database行动用于在指定的 TDengine 数据库服务器上创建一个新的数据库。通过配置的连接信息和数据库参数用户可以轻松地定义新数据库的各种属性如数据库名称、是否在存在时删除旧数据库、时间精度等。checkpoint描述写入数据中断/恢复功能相关配置参数enabled是否开启写入数据中断/恢复功能。interval_sec数据写入进度进行存储间隔单位为秒。创建 TDengine 超级表行动的格式tdengine/create-super-table行动用于在指定数据库中创建一个新的超级表。通过传递必要的连接信息和超级表配置参数用户能够定义超级表的各种属性如表名、普通列和标签列等。schema默认使用全局的 schema 配置信息当需要差异化时可在此行动下单独定义。创建 TDengine 子表行动的格式tdengine/create-child-table行动用于基于指定的超级表在目标数据库中批量创建多张子表。每张子表可以拥有不同的名称和标签列数据从而实现对时间序列数据的有效分类与管理。该行动支持从生成器Generator或 CSV 文件两种来源定义子表名称及标签列信息具备高度灵活性和可配置性。schema默认使用全局的 schema 配置信息当需要差异化时可在此行动下单独定义。batch控制批量创建子表时的行为size整数每批创建的子表数量默认值为 1000。concurrency整数并发执行的批次数量提升创建效率默认值为 10。写入 TDengine 数据行动的格式tdengine/insert行动用于将数据写入到指定的子表中。它支持从生成器或 CSV 文件两种来源获取子表名称、普通列数据并允许用户通过多种时间戳策略控制数据的时间属性。此外还提供了丰富的写入控制策略以优化数据写入过程具备高度灵活性和可配置性。schema默认使用全局的 schema 配置信息当需要差异化时可在此行动下单独定义。format字符串描述数据写入时使用的格式可选值为sql、stmt默认使用 stmt。concurrency整数并发写入数据的线程数量默认值为 8。failure_handling表示失败处理策略max_retries整数最大重试次数默认值为 0。retry_interval_ms整数重试间隔单位为毫秒默认值为 1000仅在 max_retries 0 时有效。on_failure字符串默认值为 exit表示失败后的行为可选值为exit失败后自动退出程序skip失败后警告用户并跳过继续执行time_interval控制写入过程中时间间隔分布策略。enabled布尔表示是否启用时间间隔控制默认值为 false。interval_strategy字符串表示时间间隔策略类型默认值为 fixed。可选值为fixed固定的时间间隔。first_to_first本次发送数据的首行的时间列 - 上次发送数据的首行的时间列。last_to_first本次发送数据的首行的时间列 - 上次发送数据的末行的时间列。literal根据本次发送数据的首行的时间列的值的时间点来发送模拟实时产生数据的场景。fixed_interval仅在 interval_strategy fixed 时生效base_interval整数表示固定间隔数值单位为毫秒默认值为 1000。dynamic_interval仅在 interval_strategy first_to_first / last_to_first 时生效min_interval整数表示最小时间间隔阈值单位为毫秒默认值为 -1表示未生效。max_interval整数表示最大时间间隔阈值单位为毫秒默认值为 -1表示未生效。wait_strategy字符串表示在开启时间间隔控制时发送写入请求之间的等待策略默认值为sleep可选值为sleep睡眠归还当前线程的执行权给操作系统。busy_wait忙等待保持当前线程的执行权。checkpoint描述写入数据中断/恢复功能相关配置参数目前仅支持 stmt 格式、生成器方式数据源enabled是否开启写入数据中断/恢复功能。interval_sec数据写入进度进行存储间隔单位为秒。发布 MQTT 数据行动的格式mqtt/publish行动用于将数据发布到指定的 topic 中。它支持从生成器或 CSV 文件两种来源获取数据并允许用户通过多种时间戳策略控制数据的时间属性。此外还提供了丰富的写入控制策略以优化数据发布过程具备高度灵活性和可配置性。schema默认使用全局的 schema 配置信息当需要差异化时可在此行动下单独定义。format字符串描述数据发布时使用的格式目前仅支持 json默认值为 json。concurrency整数并发发布数据的线程数量默认值为 8。failure_handling参数说明请参考 写入 TDengine 数据行动的格式 中的同名参数。time_interval参数说明请参考 写入 TDengine 数据行动的格式 中的同名参数。topic字符串要发布消息的 MQTT Topic默认值为 tsbench/{table}。支持通过占位符语法发布到动态主题占位符语法如下{table}表示表名数据{column}表示列数据column 是列字段名称qos整数QoS 等级取值范围为 0、1、2默认为 0。retain布尔MQTT Broker 是否保留最后一条消息默认值为 false。tbname_key (字符串)用于指定 json 格式输出中代表表名的字段名称。如果此参数被设置为空字符串 (“”)则不输出表名信息。默认值为 “table”。records_per_message整数每条消息包含的记录数默认为 1。发布 Kafka 数据行动的格式kafka/produce行动用于将数据发布到指定的 topic 中。它支持从生成器或 CSV 文件两种来源获取数据并允许用户通过多种时间戳策略控制数据的时间属性。此外还提供了丰富的写入控制策略以优化数据发布过程具备高度灵活性和可配置性。schema默认使用全局的 schema 配置信息当需要差异化时可在此行动下单独定义。concurrency整数并发发布数据的线程数量默认值为 8。failure_handling参数说明请参考 写入 TDengine 数据行动的格式 中的同名参数。time_interval参数说明请参考 写入 TDengine 数据行动的格式 中的同名参数。key_pattern (字符串)消息 Key 的组成模式支持通过占位符语法生成动态 key默认值为{table}占位符语法如下{table}表示表名数据{column}表示列数据column 是列字段名称key_serializer (字符串)消息 Key 的序列化方式支持 “string-utf8”、“int8”、“uint8”、“int16”、“uint16”、“int32”、“uint32”、“int64”、“uint64”默认为 “string-utf8”控制如何将 key_pattern 解析后的结果序列化为 Kafka 消息的 key 字节流。“string-utf8”: 将模板替换后的结果视为字符串直接以 UTF-8 编码生成字节流。整数将字段模板替换后的结果解析为整数。仅支持单个字段占位符序列化时使用该整数类型并以大端序big-endian格式编码为二进制数据发送。value_serializer (字符串)消息 Value 的序列化方式支持 “json”、“influx”默认为 “json”。acks (字符串)生产者确认机制设置如 “all”、“1”、“0”默认为 “0”“all”生产者必须等待 ISRIn-Sync Replicas同步副本集中的所有副本都成功接收到消息并将其写入本地日志后才会认为消息发送成功。“1”生产者只需要等待分区 Leader 副本成功接收到消息并将其写入本地日志Log就会认为消息发送成功并立即向应用程序返回确认。“0”生产者完全不等待任何确认。一旦消息被成功发送到网络甚至只是放入了生产者的发送缓冲区就立即认为发送成功。compression (字符串)消息压缩类型支持 “none”、“gzip”、“snappy”、“lz4”、“zstd”默认为 “none”。tbname_key (字符串)用于指定 json 格式输出中代表表名的字段名称。如果此参数被设置为空字符串 (“”)则不输出表名信息。默认值为 “table”。records_per_message整数每条消息包含的记录数默认为 1。配置文件示例生成器方式生成数据 STMT 方式写入 TDengine 示例该示例展示了如何使用 taosgen 工具模拟一万台智能电表每台智能电表采集电流、电压、相位三个物理量它们每隔 5 分钟产生一条记录电流的数据用随机数电压用正弦波模拟产生的这些数据采用 WebSocket 的方式写入 TDengine TSDB 的 tsbench 数据库的超级表 meters。配置详解TDengine 配置参数连接信息通过 DSN 定义数据库连接相关参数。数据库的属性定义是否重新创建数据库设置时间精度为毫秒4 个 vgroup。schema 配置参数名称指定超极表的名称。子表名称定义生成一万张子表名称的规则格式为 d0 到 d9999。超级表字段结构信息定义超级表结构包含 3 个普通列电流、电压、相位和 2 个标签列组 ID、位置。时间戳配置了时间戳生成策略从指定时间戳 1700000000000 (2023-11-14 22:13:20 UTC) 开始以 5 分钟的步长递增。时序数据current 和 phase 使用指定范围的随机数voltage 使用正弦波模拟。标签数据groupid 和 location 使用指定范围的随机数。数据生成行为使用交错模式写入每张子表写入 1 万条记录每批写入请求最大行数为 1 万行。创建子表指定 10 线程并发创建子表每批发送 1000 张子表创建请求。数据写入使用默认的 stmt (参数化写入) 格式、8 线程并发写入数据极大提升了批量数据写入的性能。场景说明此配置专为 TDengine 数据库的性能基准测试 而设计。它适用于模拟大规模物联网设备如电表、传感器持续产生高频数据的场景用于测试和评估 TDengine 集群在海量时间序列数据写入压力下的吞吐量、延迟和稳定性。验证数据库 schema 设计、资源规划以及不同硬件配置下的性能表现。为工业物联网等领域的系统容量规划提供数据支撑。tdengine:dsn:taosws://root:taosdata127.0.0.1:6041/tsbenchdrop_if_exists:trueprops:precision ms vgroups 4schema:name:meterstbname:prefix:dcount:10000from:0columns:-name:tstype:timestampstart:1700000000000precision:msstep:300s-name:currenttype:floatmin:0max:100-name:voltagetype:intexpr:220 * math.sqrt(2) * math.sin(_i)-name:phasetype:floatmin:0max:360tags:-name:groupidtype:intmin:1max:10-name:locationtype:binary(24)values:-New York-Los Angeles-Chicago-Houston-Phoenix-Philadelphia-San Antonio-San Diego-Dallas-Austingeneration:interlace:1rows_per_table:10000rows_per_batch:10000num_cached_batches:0jobs:# TDengine insert jobinsert:steps:-uses:tdengine/create-super-table-uses:tdengine/create-child-tablewith:batch:size:1000concurrency:10-uses:tdengine/insertwith:concurrency:8其中tdengine、schema::name、schema::tbname、schema::tags、tdengine/create-child-table::batch、tdengine/insert::concurrency 可以使用默认值进一步简化配置。schema:columns:-name:tstype:timestampstart:1700000000000precision:msstep:300s-name:currenttype:floatmin:0max:100-name:voltagetype:intexpr:220 * math.sqrt(2) * math.sin(_i)-name:phasetype:floatmin:0max:360generation:interlace:1num_cached_batches:0jobs:# TDengine insert jobinsert:steps:-uses:tdengine/create-super-table-uses:tdengine/create-child-table-uses:tdengine/insertCSV 文件方式生成数据 STMT 方式写入 TDengine 实例该示例展示了如何使用 taosgen 工具模拟一万台智能电表每台智能电表采集电流、电压、相位三个物理量它们每隔 5 分钟产生一条记录测点数据读取自 CSV 文件采用 WebSocket 的方式写入 TDengine TSDB 的 tsbench 数据库的超级表 meters。配置详解TDengine 配置参数连接信息通过 DSN 定义数据库连接相关参数。数据库的属性定义是否重新创建数据库设置时间精度为毫秒4 个 vgroup。schema 配置参数名称指定超极表的名称。from_csv 配置定义了子表名称、标签列和时序数据列的来源。子表名称使用文件 ctb-tags.csv 中索引为 2 的列。标签数据使用文件 ctb-tags.csv 中排除子表名称列之外的所有列。时间戳使用文件 ctb-data.csv 中索引为 1 的列且在原始数据基础上增加 10 秒。时序数据使用文件 ctb-data.csv 中的数据该文件第 0 列为子表名用于关联数据与子表。。超级表字段结构信息定义超级表结构包含 3 个普通列电流、电压、相位和 2 个标签列组 ID、位置。数据生成行为使用交错模式写入每张子表写入 1 万条记录每批写入请求最大行数为 1 万行。创建子表指定 10 线程并发创建子表每批发送 1000 张子表创建请求。数据写入使用默认的 stmt (参数化写入) 格式、8 线程并发写入数据极大提升了批量数据写入的性能。场景说明此配置专为从现有 CSV 文件导入设备元数据和历史数据到 TDengine 数据库而设计。它适用于以下场景数据迁移将已收集存储于 CSV 文件中的设备元数据标签和历史监测数据迁移至 TDengine 数据库。系统初始化为新的监控系统初始化一批设备及其历史数据用于系统测试、演示或回溯分析。数据回放通过重新注入历史数据模拟实时数据流用于测试系统处理能力或重现特定历史场景。tdengine:dsn:taosws://root:taosdata127.0.0.1:6041/tsbenchdrop_if_exists:trueprops:precision ms vgroups 4schema:name:metersfrom_csv:tags:file_path:./conf/ctb-tags.csvtbname_index:2exclude_indices:columns:file_path:./conf/ctb-data.csvtbname_index:0timestamp_index:1timestamp_precision:mstimestamp_offset:offset_type:relativevalue:10srepeat_read:falsecolumns:-name:tstype:timestampprecision:ms-name:currenttype:float-name:voltagetype:int-name:phasetype:floattags:-name:groupidtype:int-name:locationtype:binary(24)generation:interlace:1rows_per_table:10000rows_per_batch:10000num_cached_batches:0tables_reuse_data:falsejobs:# TDengine insert jobinsert:steps:-uses:tdengine/create-super-table-uses:tdengine/create-child-tablewith:batch:size:1000concurrency:10-uses:tdengine/insertwith:concurrency:8其中ctb-tags.csv文件内容格式为groupid,location,tbname 1,California.Campbell,d1 2,Texas.Austin,d2 3,NewYork.NewYorkCity,d3ctb-data.csv文件内容格式为tbname,ts,current,voltage,phase d1,1700000010000,5.23,221.5,146.2 d3,1700000010000,8.76,219.8,148.7 d2,1700000010000,12.45,223.1,147.3 d3,1700000310000,9.12,220.3,149.1 d2,1700000310000,11.87,222.7,145.8 d1,1700000310000,4.98,220.9,147.9生成器方式生成数据并发布数据到 MQTT Broker 示例该示例展示了如何使用 taosgen 工具模拟一万台智能电表每台智能电表采集电流、电压、相位、位置四个物理量它们每隔 5 分钟产生一条记录电流的数据用随机数电压用正弦波模拟产生的这些数据通过 MQTT 协议进行发布。配置详解MQTT 配置参数连接信息使用 URI 描述连接 MQTT Broker 的信息。schema 配置参数名称指定 schema 的名称。表名称定义生成一万张逻辑表的名称规则格式为 d0 到 d9999用于组织和标识生成的数据。表字段结构信息定义数据表结构包含 4 个普通列电流、电压、相位、设备位置。时间戳配置了时间戳生成策略从指定时间戳 1700000000000 (2023-11-14 22:13:20 UTC) 开始以 5 分钟的步长递增。时序数据current、phase 和 location 使用指定范围的随机数voltage 使用正弦波模拟。数据生成行为使用交错模式写入每张表写入 1 万条记录每批写入请求最大行数为 1 万行。数据发布使用 8 线程并发向 MQTT Broker 主题发布数据提高吞吐量。主题配置 (topic): 使用动态主题 factory/{table}/{location}其中{table}占位符将被实际生成的子表名称替换。{location}占位符将被生成的 location 列值替换实现按设备位置发布到不同主题。qos服务质量等级设置为 1至少交付一次。场景说明此配置专为向 MQTT 消息代理发布模拟设备数据而设计。它适用于以下场景MQTT 消费者测试模拟大量设备向 MQTT 代理发布数据用于测试 MQTT 消费者端的处理能力、负载均衡和稳定性。物联网平台演示快速构建一个模拟的物联网环境展示设备数据如何通过 MQTT 协议接入平台。规则引擎测试结合 MQTT 主题的动态特性如按设备位置路由测试基于 MQTT 的主题订阅和消息路由规则。实时数据流模拟模拟实时产生的设备数据流用于测试流处理框架的数据消费和处理能力。mqtt:uri:tcp://localhost:1883user:rootpassword:taosdataschema:name:meterstbname:prefix:dcount:10000from:0columns:-name:tstype:timestampstart:1700000000000precision:msstep:300s-name:currenttype:floatmin:0max:100-name:voltagetype:intexpr:220 * math.sqrt(2) * math.sin(_i)-name:phasetype:floatmin:0max:360-name:locationtype:varchar(20)values:-Chicago-Houston-Phoenix-Philadelphia-Dallas-Austingeneration:interlace:1concurrency:8rows_per_table:10000rows_per_batch:10000num_cached_batches:0jobs:# MQTT publish jobpublish-data:steps:-uses:mqtt/publishwith:concurrency:8topic:factory/{table}/{location}qos:1生成器方式生成数据并发布数据到 Kafka Broker 示例该示例展示了如何使用 taosgen 工具模拟一万台智能电表每台智能电表采集电流、电压、相位、位置四个物理量它们每隔 5 分钟产生一条记录电流的数据用随机数电压用正弦波模拟产生的这些数据发布到 Kafka。配置详解Kafka 配置参数连接信息使用 bootstrap_servers 描述连接 Kafka Broker 的信息。主题配置 (topic)使用主题 factory-electric-meter。schema 配置参数名称指定 schema 的名称。表名称定义生成一万张逻辑表的名称规则格式为 d0 到 d9999用于组织和标识生成的数据。表字段结构信息定义数据表结构包含 4 个普通列电流、电压、相位、设备位置。时间戳配置了时间戳生成策略从指定时间戳 1700000000000 (2023-11-14 22:13:20 UTC) 开始以 5 分钟的步长递增。时序数据current、phase 和 location 使用指定范围的随机数voltage 使用正弦波模拟。数据生成行为使用交错模式写入每张表写入 1 万条记录每批写入请求最大行数为 1 万行。数据发布使用 8 线程并发向 Kafka Broker 发布数据提高吞吐量。acks消息确认等级此示例设为 ‘1’表示仅需 Leader 确认。场景说明此配置专为向 Kafka 消息代理发布模拟设备数据而设计。它适用于以下场景Kafka 生产者性能压测模拟大规模设备并发写入场景测试 Kafka Broker 的吞吐能力、网络带宽占用及生产者端的资源消耗验证不同压缩算法如 gzip, zstd对性能的影响。流处理系统集成测试向 Kafka 发布结构化的设备数据流用于测试基于 Flink、Spark Streaming、ksqlDB 或 Pulsar Functions 等流处理引擎的数据接入、窗口计算、状态管理与实时告警功能。物联网平台数据接入验证快速构建一个高并发的设备数据注入环境模拟万台智能电表上报数据验证 IoT 平台后端服务从 Kafka 消费数据、解析、入库如时序数据库 TDengine的完整链路稳定性。规则引擎与消息路由测试利用 Kafka 主题的分层命名如 factory-electric-meter和消息 Key如{table}表示设备 ID测试基于 Kafka Connect 或自定义消费者组的消息过滤、多路复用、按设备标签location进行动态路由的能力。实时数据管道压力测试模拟持续高频率的时序数据流每 5 分钟/条 × 10,000 台设备评估从 Kafka 到下游系统如数据湖、数仓、监控面板的端到端延迟、积压情况和消费速率匹配度。安全认证机制验证配置 SASL_SSL 和 SCRAM-SHA-256 认证用于测试启用了身份验证和加密传输的 Kafka 集群在真实生产环境下的客户端连接稳定性与安全性。数据格式兼容性测试使用 JSON 或 InfluxDB Line Protocol 格式序列化消息体验证下游消费者或中间件对不同数据格式的解析能力确保协议兼容性和字段映射正确性。灾备与高可用演练在多 Broker 集群环境下通过高并发写入测试 Kafka 的副本同步、Leader 选举、Broker 故障转移等高可用机制的表现确保数据不丢失、服务不间断。kafka:bootstrap_servers:localhost:9092topic:factory-electric-meterschema:name:meterstbname:prefix:dcount:10000from:0columns:-name:tstype:timestampstart:1700000000000precision:msstep:300s-name:currenttype:floatmin:0max:100-name:voltagetype:intexpr:220 * math.sqrt(2) * math.sin(_i)-name:phasetype:floatmin:0max:360-name:locationtype:varchar(20)values:-Chicago-Houston-Phoenix-Philadelphia-Dallas-Austingeneration:interlace:1concurrency:8rows_per_table:10000rows_per_batch:10000num_cached_batches:0jobs:# Kafka produce jobproduce-data:steps:-uses:kafka/producewith:concurrency:8acks:1
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

网站移动端优化的重点有哪些php 网站 整合 数据库

Linux日志分析工具及应用 —语法详解与实战案例系统环境:CentOS Stream 9 / RHEL 9 / Ubuntu 24.04 核心工具:rsyslog, logrotate, logwatch, Bash, Python 目标:掌握 Linux 日志管理、轮替、分析、监控全流程一、Linux 日志文件的类型 Linux…

张小明 2026/3/5 5:31:18 网站建设

网站开发的基本过程网站开发 海淀

Anki插件开发终极指南:从零基础到实战高手的完整教程 【免费下载链接】anki Ankis shared backend and web components, and the Qt frontend 项目地址: https://gitcode.com/GitHub_Trending/an/anki 想要让Anki真正成为你的专属学习助手吗?Anki…

张小明 2026/3/5 5:31:20 网站建设

网站空间和云服务器阿里巴巴外贸平台中文

彻底清理Vivado:工程师必须掌握的深度卸载实战指南你有没有遇到过这种情况——明明已经“卸载”了旧版Vivado,结果安装新版时却弹出错误提示:“检测到正在配置的Xilinx软件”?或者刚打开新版本就报错“GUI初始化失败”、“IP核缓存…

张小明 2026/3/5 5:31:21 网站建设

山东省建设厅继续教育网站修改wordpress数据库链接地址

欢迎大家加入[开源鸿蒙跨平台开发者社区](https://openharmonycrossplatform.csdn.net),一起共建开源鸿蒙跨平台生态。在 Flutter 开发中,状态管理始终是核心且容易让开发者困惑的话题。很多初学者会陷入 “setState 够用吗?”“Provider 和 …

张小明 2026/3/5 5:31:22 网站建设

手机app开发网站模板网站建设需要哪些工作室

大数据存储 - Azure 数据湖全面解析 1. 理解 Azure 数据湖存储 在选择存储解决方案时,需要考虑要存储的数据量。根据数据量的不同,可以从 Azure 提供的多种服务中进行选择,如 Azure 存储、Azure SQL 或 Azure Cosmos DB,还有各种可作为虚拟机镜像的数据库,如 Cassandra …

张小明 2026/3/5 5:31:23 网站建设

陕西网站制作公司湘潭做网站 m磐石网络

序幕:一场虚拟的车祸与一次真实的黑入 想象这样一个场景:2023年的一个雨夜,您驾驶着最新款的智能电动汽车行驶在高速公路上。车辆自动保持在车道中央,自适应巡航控制着与前车的距离,车载娱乐系统播放着您喜爱的音乐。突…

张小明 2026/3/5 5:31:24 网站建设