TDengine 基准性能测试工具 taosperf 使用指南:磁盘读写与网络吞吐评估
数据库时序数据库大数据物联网云原生【免费下载链接】TDengineHigh-performance, scalable time-series database designed for Industrial IoT (IIoT) scenarios项目地址https://gitcode.com/GitHub_Trending/tde/TDengine点击查看免费下载taosperf 是 TDengine 运维工具箱Inspection Tools中的基准性能测试工具通过调用dd、fio、ping、iperf3等第三方工具量化评估 TDengine 部署环境的磁盘读写能力与节点间网络传输能力。本文完整介绍该工具的 local / ssh 两种运行模式、全部命令行参数、YAML 配置文件的写法与字段含义、perf_report.md结果报告的结构并给出可直接复制的实战命令帮助你在部署 TDengine 之前或日常巡检时快速验证硬件环境是否满足性能预期。工具定位为什么要做基准性能测试TDengine 部署环境的磁盘读写和网络传输能力会直接决定数据库的查询与写入性能上限。在真实集群中数据落盘的顺序写/随机读吞吐、各节点之间同步与复制的网络带宽都是影响整体服务质量的关键因素。taosperf 正是为此设计的轻量评估手段磁盘性能在指定的存储路径上用dd与fio执行顺序写、顺序读、随机写、随机读等测试得到实际写入速度与读取速度网络性能用ping探测节点间的连通性与丢包情况用iperf3测量本机到对端节点的实际 TCP 吞吐。根据官方工具总览 Inspection Tools 的说明该工具当前面向 TDengine Enterprise企业版用户提供要求 TDengine v3.1 或更高版本并已在 Kylin V10、Ubuntu 20.04.2、CentOS 7.9、LinxOS 6.0.99、openEuler 23.09、Debian 12 等系统上完成验证。两种运行模式local 与 sshtaosperf 支持两种运行模式分别适用于单机自测与全集群批量测试local 模式测试当前主机自身的磁盘读写性能同时可通过--ip参数指定一个对端节点额外测试本机到该节点的网络吞吐ssh 模式按配置文件中的节点清单通过 SSH 依次在集群所有节点上执行磁盘测试并测试节点之间的网络传输能力。local 模式usage: taosperf local [-h] [--config CONFIG] [--backend] [--test-item {all,disk,network}] [--result RESULT] [--log-level {debug,info}] [--ip IP]ssh 模式usage: taosperf ssh [-h] [--config CONFIG] [--backend] [--test-item {all,disk,network}] [--result RESULT] [--log-level {debug,info}]两个模式的完整可选参数如下对应-h/--help输出参数短参数说明--config CONFIG-f CONFIG配置文件路径不指定时默认读取工具运行当前目录下的配置文件--backend-b后台运行测试进程默认前台运行--test-item {all,disk,network}-ti测试项all磁盘 网络、disk仅磁盘、network仅网络默认all--result RESULT-r RESULT结果报告输出目录不指定时默认输出到工具运行当前目录--log-level {debug,info}-l日志级别支持debug、info默认info--ip IP-i IP仅 local 模式可用指定目标节点 IP 后只测试本机与目标机器之间的网络传输能力参数使用要点config参数用于加载 配置文件具体字段含义见下文配置文件说明result只决定报告目录报告文件名固定为perf_report.mdbackend适合在巡检脚本或后台任务中运行避免长时间测试阻塞终端test-item可以让你在怀疑网络或磁盘单一方面出现瓶颈时只跑对应的那组测试缩短整体耗时ip仅作用于网络测试例如./taosperf local -i 192.168.1.1表示只评估本机到192.168.1.1的网络能力。需要说明的是英文版文档以子命令形式展示为taosperf local/taosperf ssh中文版应用示例中则使用-m local/-m ssh的写法两者语义一致实际使用时请以你所安装版本的taosperf --help输出为准。配置文件详解配置文件采用 YAML 格式用于定义集群节点信息、待测试的磁盘路径以及磁盘和网络测试所调用的第三方工具命令。以下为完整配置示例来自文档并补充了字段注释######################################################## # Configuration # ######################################################## # 集群信息每个节点的连接信息 需要测试磁盘性能的存储路径 nodes: - ip: 192.168.1.101 user: root password: yourpassword port: 22 dirs: - dir: /data1 - dir: /data2 - ip: 192.168.1.102 user: root password: yourpassword port: 22 dirs: - dir: /data1 - dir: /data2 - ip: 192.168.1.103 user: root password: yourpassword port: 22 dirs: - dir: /data1 - dir: /data2 # 磁盘和网络能力的第三方工具运行方式 cmd: - io: dd: write: dd if/dev/zero of[file] bs400K count50000 oflagdirect convfsync read: dd if[file] of/dev/null bs1M count20000 iflagdirect fio: write: fio --namedb_write_test --filename[file] --size5G --bsrange480k-500k --rwrandwrite --ioenginelibaio --direct1 --numjobs4 --iodepth32 --group_reporting read: fio --namedb_read_test --filename[file] --size5G --bs1M --rwrandread --ioenginelibaio --direct1 --numjobs4 --iodepth32 --group_reporting - network: ping: ping -c 10000 -i 0.1 -s 1024 [ip] iperf3: iperf3 -c [ip] -P 4 -t 120nodes 段集群节点与测试路径nodes是一个列表每个节点包含以下字段ip节点 IP 地址userSSH 登录用户名文档示例为root工具总览也要求以 root 或具备 sudo 权限的账户运行passwordSSH 登录密码如果节点间已配置无密码 SSH 登录则密码可省略portSSH 服务端口默认常用值 22dirs需要测试磁盘性能的存储路径列表每项通过dir指定例如/data1、/data2。这些路径应当对应 TDengine 实际数据目录所在挂载点以便评估真实数据盘的写入能力。cmd 段测试命令模板cmd段定义了磁盘io与网络network两组测试命令命令中的[file]与[ip]是占位符工具运行时会分别替换为实际的测试文件路径和节点 IP。dd 写测试dd if/dev/zero of[file] bs400K count50000 oflagdirect convfsyncbs400K每次读写 400KB 块count50000执行 50000 次合计写入约 20GB 数据避免小数据量掩盖磁盘真实性能oflagdirect绕过操作系统页缓存直接写入磁盘反映真实落盘性能convfsync结束时强制同步到磁盘保证测试数据确实写盘。dd 读测试dd if[file] of/dev/null bs1M count20000 iflagdirectbs1M、count20000以 1MB 块读取 20000 次约 20GBiflagdirect绕过页缓存直接读盘避免缓存命中导致读数虚高。fio 随机写测试fio --namedb_write_test --filename[file] --size5G --bsrange480k-500k --rwrandwrite --ioenginelibaio --direct1 --numjobs4 --iodepth32 --group_reporting--size5G每个 job 写入总量 5GB--bsrange480k-500k块大小在 480k500k 之间随机模拟接近 TDengine 实际数据块大小的写入负载--rwrandwrite随机写模式更贴近时间序列数据追加落盘之外的随机写场景--ioenginelibaio使用 Linux 原生异步 I/O--direct1绕过缓存直接读写--numjobs4并发 4 个 job--iodepth32每 job 异步队列深度 32--group_reporting多个 job 的结果合并汇总输出。fio 随机读测试fio --namedb_read_test --filename[file] --size5G --bs1M --rwrandread --ioenginelibaio --direct1 --numjobs4 --iodepth32 --group_reporting与写测试相比读测试固定--bs1M块大小并采用--rwrandread随机读模式其余参数一致。网络 ping 测试ping -c 10000 -i 0.1 -s 1024 [ip]发送 10000 个 ICMP 包间隔 0.1 秒、负载 1024 字节用于评估节点间连通性、往返时延与丢包率。iperf3 吞吐测试iperf3 -c [ip] -P 4 -t 120以客户端模式连接对端[ip]开启 4 个并发流-P 4持续测试 120 秒-t 120得到稳定的聚合吞吐带宽。结果文件perf_report.md工具运行结束后会在result指定目录默认当前目录生成测试报告perf_report.md内容包含两大部分集群磁盘与网络配置信息以及磁盘/网络测试结果。以下为文档给出的报告结构示例# 性能检查报告 时间2025-05-30 17:21:02 ## 磁盘配置 | FQDN | 磁盘名称 | 磁盘型号 | 序列号 | 磁盘类型 | 磁盘空间 | |--------|--------|------------------|------------------|--------|--------| | u1-11 | sda | INTEL_SSDSC2BB48 | 55cd2e414d66c8cd | SSD | 447.1G | | u1-11 | sdb | INTEL_SSDSC2BB48 | 55cd2e414d72e38b | SSD | 447.1G | | u1-11 | sdc | SAMSUNG_MZ7L31T9 | 5002538f3431f2c9 | SSD | 1.8T | | u1-11 | sdd | ST2000NX0273 | 5000c500f06b8e1f | HDD | 1.8T | #### 网络配置 | FQDN | 网卡名称 | 带宽 | |--------|--------|----------| | u1-11 | eno3 | 1000Mb/s | ## 磁盘性能 ### 1. 写盘命令 #### 1.1 dd 命令 dd if/dev/zero of[file] bs400K count50000 oflagdirect convfsync #### 1.2 fio 命令 fio --namedb_write_test --filename[file] --size5G --bsrange480k-500k --rwrandwrite --ioenginelibaio --direct1 --numjobs4 --iodepth32 --group_reporting ### 2. 读盘命令 #### 2.1 dd 命令 dd if[file] of/dev/null bs1M count20000 iflagdirect #### 2.2 fio 命令 fio --namedb_read_test --filename[file] --size5G --bs1M --rwrandread --ioenginelibaio --direct1 --numjobs4 --iodepth32 --group_reporting ### 3. 测试结果 | FQDN | 磁盘路径 | 测试工具 | 写入速度 | 读取速度 | |--------|--------|--------|-----------|----------| | u1-11 | /data1 | fio | 493MiB/s | 528MiB/s | | u1-11 | /data2 | fio | 87.0MiB/s | 106MiB/s |报告要点解读磁盘配置报告会采集每台被测机器的物理磁盘清单磁盘名、型号、序列号、SSD/HDD 类型、容量便于将测试结果与具体磁盘型号对应网络配置列出被测机器各网卡的名称与协商带宽如1000Mb/s作为网络吞吐结果的参照基准磁盘性能先完整记录实际执行的 dd / fio 读写命令保证结果可复现再给出按 FQDN 磁盘路径 测试工具维度的写入速度与读取速度汇总表。示例中/data1SSDfio 写 493MiB/s、读 528MiB/s而/data2HDD仅写 87.0MiB/s、读 106MiB/s可直观看出不同介质的数据盘性能差异——这正是判断数据目录是否需要拆分、是否需要更高规格存储的重要依据。实战示例以下命令覆盖了最常见的几种使用场景可直接在安装 taosperf 的节点上执行# 1. 测试本机的磁盘读写性能以及本机到其它节点的网络传输能力 ./taosperf -m local # 2. 测试本机的磁盘读写性能以及本机到指定节点192.168.1.1的网络传输能力 ./taosperf -m local -i 192.168.1.1 # 3. 测试集群所有节点的磁盘读写性能和相互间的网络传输能力 ./taosperf -m ssh # 4. 指定配置文件测试集群所有节点的磁盘读写和网络传输能力 ./taosperf -m ssh -f /path_to_file/perf.yaml # 5. 只测试集群所有节点间的网络传输能力 ./taosperf -m ssh -ti network # 6. 只测试集群所有节点的磁盘读写性能 ./taosperf -m ssh -ti disk对应英文版文档的子命令写法等价如下# 测试本机磁盘与网络连通性 ./taosperf local # 测试本机到指定对端节点 ./taosperf local -i 192.168.1.1 # 测试所有配置的集群节点使用 -f 指定配置文件 ./taosperf ssh -f /path/to/perf.yaml # 仅运行网络或磁盘测试 ./taosperf ssh -ti network ./taosperf ssh -ti disk使用前提与限制根据工具总览 Inspection Tools 中的说明使用 taosperf 前需满足以下条件工具当前仅对TDengine Enterprise 用户开放并要求TDengine v3.1 或更高版本以root身份运行或使用具备sudo权限的账户集群节点间需开启 SSH 连通若无法互连可在每个节点上分别以 local 模式运行工具若采用无密码 SSH 方式需同时配置当前主机能够 SSH 到自身x64 平台要求 GLIBC 2.17 及以上ARM 平台要求 GLIBC 2.27 及以上将配置文件中所有节点的 FQDN 与 IP 映射添加到/etc/hosts被测磁盘路径如/data1、/data2应真实存在且有足够空间因为 dd / fio 测试会写入 GB 级数据文件测试会消耗较多 I/O 与网络资源建议在业务低峰期或专用巡检窗口执行。小结taosperf 通过标准化的dd/fio/ping/iperf3命令组合把 TDengine 部署环境的磁盘读写吞吐和节点间网络带宽变成可量化的报告数据。配合perf_report.md中的磁盘型号、网卡带宽与实测读写速度对照表你可以快速定位数据盘性能瓶颈、验证网络链路质量为 TDengine 集群的存储选型、数据目录规划与容量评估提供直接依据。建议将 taosperf 纳入部署前环境验收和日常巡检的固定流程与同目录下的 taosprecheck、taosinspect 等工具配合使用形成从环境检查、性能验证到运行期体检的完整运维闭环。赞分享数据库时序数据库大数据物联网云原生【免费下载链接】TDengineHigh-performance, scalable time-series database designed for Industrial IoT (IIoT) scenarios项目地址https://gitcode.com/GitHub_Trending/tde/TDengine点击查看免费下载相关推荐TDengine 基准性能测试工具 taosperf 使用指南磁盘读写与网络传输能力评估TDengine 基准性能测试工具 taosperf 使用指南磁盘读写与网络传输能力评估 taosperf 是 TDengine 部署环境自带的基准性能测试工数据库时序数据库物联网大数据实时分析云原生如何快速配置NarratoAI从零开始打造AI视频解说平台如何快速配置NarratoAI从零开始打造AI视频解说平台 NarratoAI是一款基于AI大模型的自动化视频解说工具能够一键生成专业级视频解说内容。这款开AI 应用大模型音视频语音媒体生成Proxy革命性C多态库彻底告别继承的终极指南Proxy革命性C多态库彻底告别继承的终极指南 你是否厌倦了C中复杂的继承体系是否梦想着像Java或C 那样轻松实现多态同时又不牺牲性能微软开上一篇告别繁琐Git History批量导出功能让文件历史管理效率提升10倍下一篇ShinkaEvolve LLM动态选择多模型协作与成本优化策略创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

sqlc 如何处理 MySQL 枚举 DDL:从 `ALTER TYPE ... RENAME VALUE` 测试用例看 MySQL 与 PostgreSQL 枚举语义差异

sqlc 如何处理 MySQL 枚举 DDL:从 `ALTER TYPE ... RENAME VALUE` 测试用例看 MySQL 与 PostgreSQL 枚举语义差异

开发工具代码生成数据库 【免费下载链接】sqlc Generate type-safe code from SQL 项目地址: https://gitcode.com/gh_mirrors/sq/sqlc 点击查看 免费下载 本文围绕 sqlc 仓库中的端到端测试用例 ddl_alter_type_rename_value 展开:该用例的 MySQL 侧说…

2026/10/10 5:26:34 阅读更多 →
Ant Design Blazor Alert 警告提示组件完全指南:属性详解、源码原理与实战示例

Ant Design Blazor Alert 警告提示组件完全指南:属性详解、源码原理与实战示例

前端UI组件设计系统 【免费下载链接】ant-design-blazor 基于 Ant Design 与 Blazor 的前端组件库。让开发者解放生产力,实现更大价值。 项目地址: https://gitcode.com/ant-design-blazor/ant-design-blazor 点击查看 免费下载 导读:本文以…

2026/10/10 5:26:34 阅读更多 →
Cloud Custodian EBS 快照自动化实战:批量创建、标签继承与滚动清理

Cloud Custodian EBS 快照自动化实战:批量创建、标签继承与滚动清理

云原生运维安全 【免费下载链接】cloud-custodian Rules engine for cloud security, cost optimization, and governance, DSL in yaml for policies to query, filter, and take actions on resources 项目地址: https://gitcode.com/gh_mirrors/cl/cloud-custodi…

2026/10/10 5:26:33 阅读更多 →

最新新闻

LeetCode 2413 Smallest Even Multiple 题解:奇偶分类与位运算的 O(1) 解法(codeforces-go 仓库实战指南)

LeetCode 2413 Smallest Even Multiple 题解:奇偶分类与位运算的 O(1) 解法(codeforces-go 仓库实战指南)

科学计算 【免费下载链接】codeforces-go 算法竞赛模板库 by 灵茶山艾府 💭💡🎈 项目地址: https://gitcode.com/GitHub_Trending/co/codeforces-go 点击查看 免费下载 本篇技术指南以 codeforces-go 仓库中 LeetCode 第 311 场周…

2026/10/10 6:06:48 阅读更多 →
纯虚函数与抽象类:接口该怎么设计

纯虚函数与抽象类:接口该怎么设计

设计一套可扩展的 C 系统时,你迟早会写出「只定义契约、不提供实现」的类:它规定「凡是我的子类都必须有 area() 和 draw(),但怎么实现我不管」。这种类就是抽象类(abstract class),靠 纯虚函数&#xff08…

2026/10/10 6:06:48 阅读更多 →
业务参与者规则不显示构件包?沿工作流运行时加载链路排查

业务参与者规则不显示构件包?沿工作流运行时加载链路排查

看到“业务参与者规则没有显示构件包及构件包下流程事件,work目录下也未生成当前构件包目录”这个描述,我第一反应是:这不是一个单纯的界面显示问题,而是服务在运行态压根没有把目标构件包加载进来。业务参与者规则界面显示的构件…

2026/10/10 6:06:48 阅读更多 →
Linux 端口不通怎么排查?firewalld 不是超时而是 No route to host,三台真机实测 firewalld / ufw / iptables / SELinux

Linux 端口不通怎么排查?firewalld 不是超时而是 No route to host,三台真机实测 firewalld / ufw / iptables / SELinux

这一篇讲什么 「端口不通」是最常见也最容易瞎折腾的问题:服务起了、防火墙也开了,外面还是连不上。本篇在三台机器上把排查链条从头到尾实跑一遍:先分清报错类型 → 本机在不在监听 → 防火墙 → SELinux / AppArmor。 实测环境同(一):CentOS 7.9(VMware)、Rocky 9.8、Ubuntu …

2026/10/10 6:06:48 阅读更多 →
CentOS 7 yum 源失效怎么办?vault 返回 403、EPEL 7 卡死,三台真机实测能用的换源方法(附 Rocky 9 / Ubuntu 24.04)

CentOS 7 yum 源失效怎么办?vault 返回 403、EPEL 7 卡死,三台真机实测能用的换源方法(附 Rocky 9 / Ubuntu 24.04)

这个系列是什么 「Linux 实战」按线上真正会撞上的事情排:认清系统和装软件(本篇)、端口不通、服务起不来、磁盘满了、网络和 SSH、日志与性能…… 每一篇都做两件事:①所有命令在真机上跑过、贴原始输出;②同一件事在三个系统上各跑一遍 —— CentOS 7 还大量在线上跑着,新机器…

2026/10/10 6:06:48 阅读更多 →
极点五笔10周年版:确定性优先的五笔输入法重构

极点五笔10周年版:确定性优先的五笔输入法重构

1. 项目概述:这不只是一个输入法,而是一次对中文输入底层逻辑的重新校准“极点五笔:10周年版全面升级体验”——看到这个标题,我第一反应不是点开下载,而是下意识摸了摸键盘右下角那块被手指磨得发亮的空格键。十年&am…

2026/10/10 6:05:48 阅读更多 →

日新闻

卫星轨道分类全解析:从LEO到GEO的选型逻辑与工程实践

卫星轨道分类全解析:从LEO到GEO的选型逻辑与工程实践

1. 从“卫星轨道分类”这个标题说起:为什么值得花时间搞懂第一次接触“卫星轨道分类”这个概念,很多人会觉得它离自己很远——不就是天上的星星怎么转吗?但如果你正在做航天任务规划、遥感数据接收、星座设计,甚至只是准备一场航天…

2026/10/10 0:00:39 阅读更多 →
Spring AOP 核心原理与实战:从概念到日志切面落地

Spring AOP 核心原理与实战:从概念到日志切面落地

1. 从一个真实痛点说起:为什么你的代码里到处都是重复逻辑刚入行那会儿,我写过一个用户管理模块,注册、登录、改密码、注销四个接口。每个接口里都塞了几乎一样的日志打印、参数校验、事务开启和提交。当时觉得没什么,能跑就行。直…

2026/10/10 0:00:40 阅读更多 →
Python招聘数据采集与分析可视化:从采集清洗到薪资技能城市可视化全链路

Python招聘数据采集与分析可视化:从采集清洗到薪资技能城市可视化全链路

简介:这是一套面向计算机相关专业学生与项目实战学习者的Python数据采集与分析可视化完整项目,以Boss直聘岗位数据为对象,适合用作毕业设计、课程设计或期末大作业。资源包共38个文件,约246KB,以13个py源码文件为核心&…

2026/10/10 0:00:40 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 15:26:32 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 1:36:08 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 10:11:06 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 5:23:50 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 21:32:20 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 6:17:20 阅读更多 →