当太多 JDBC 线程向 TDengine 插入数据时出现无效 table ID 错误
Invalid table ID error when too many JDBC threads inserting data to TDengine
我正在做一个项目,使用多线程来模拟密集数据写入时序数据库。这里是TDengine.
当我将线程数增加到 1000 以将数据写入 TDengine 服务器时,错误 return 如下:
java.sql.SQLException: TDengine 错误 (80000600): 无效 table ID
同时出现一些错误 return:
java.sql.SQLException: TDengine 错误 (80000014): 数据库未就绪
写入总请求数为100,000,000,失败请求数为19748
记录如下:
04/21 10:44:21.663735 00042155 DND msg:0x7fd7c8001140, app:0xf36233 type:create-table 被写入 mwrite queue:0x138eaa0, 重试 times:0
04/21 10:44:21.664098 00042352 TDB 错误 vgId:3 无法获取 table 插入数据,uid 844438318559607 tid 798
04/21 10:44:21.664140 00042352 TDB 错误 vgId:3 由于无效 table ID
无法插入数据
服务器端似乎有问题。请问有人可以帮忙吗?
谢谢,
从JMeter的角度我只能推荐:
- 关注 JMeter Best Practices
- saving request/response data 调查问题的时间框架,因此您将确信 JMeter 不会未能正确构建请求
- 确保有足够的空间让 JMeter 在免费 CPU/RAM/etc 方面运行。
从 TDengine 的角度来看,只有上述关于资源监控的观点适用,确保有过度的 CPU、RAM、网络或磁盘 IO 使用。可以使用 JMeter PerfMon Plugin
来完成
除了检查日志中的可疑条目外,您还可以使用 show dnodes;
show mnode;
and show vgroups
and look for the open issues
等命令检查集群状态
我正在做一个项目,使用多线程来模拟密集数据写入时序数据库。这里是TDengine.
当我将线程数增加到 1000 以将数据写入 TDengine 服务器时,错误 return 如下: java.sql.SQLException: TDengine 错误 (80000600): 无效 table ID
同时出现一些错误 return: java.sql.SQLException: TDengine 错误 (80000014): 数据库未就绪
写入总请求数为100,000,000,失败请求数为19748
记录如下: 04/21 10:44:21.663735 00042155 DND msg:0x7fd7c8001140, app:0xf36233 type:create-table 被写入 mwrite queue:0x138eaa0, 重试 times:0 04/21 10:44:21.664098 00042352 TDB 错误 vgId:3 无法获取 table 插入数据,uid 844438318559607 tid 798 04/21 10:44:21.664140 00042352 TDB 错误 vgId:3 由于无效 table ID
无法插入数据服务器端似乎有问题。请问有人可以帮忙吗?
谢谢,
从JMeter的角度我只能推荐:
- 关注 JMeter Best Practices
- saving request/response data 调查问题的时间框架,因此您将确信 JMeter 不会未能正确构建请求
- 确保有足够的空间让 JMeter 在免费 CPU/RAM/etc 方面运行。
从 TDengine 的角度来看,只有上述关于资源监控的观点适用,确保有过度的 CPU、RAM、网络或磁盘 IO 使用。可以使用 JMeter PerfMon Plugin
来完成除了检查日志中的可疑条目外,您还可以使用
等命令检查集群状态show dnodes;
show mnode;
andshow vgroups
and look for the open issues