jmeter 当过多的JDBC线程向TDengine插入数据时,出现无效的表ID错误

0yg35tkg  于 2023-06-23  发布在  其他
关注(0)|答案(2)|浏览(215)

我正在做一个项目,使用许多线程来模拟密集的数据写入时间序列数据库。这是TDengine。
当我将线程数提升到1000以向TDengine服务器写入数据时,返回如下错误:java.sql.SQLException:TDengine错误(80000600):无效的表ID
同时返回一些错误:java.sql.SQLException:TDengine错误(80000014):数据库未就绪
写入请求总数为100,000,000,失败请求数为19748
下面的日志:04/21 10:44:21.663735 00042155 DND msg:0x7fd7c8001140,app:0xf36233 type:create-table is reput into mwrite queue:0x138eaa0,retry times:0 04/21 10:44:21.664098 00042352 TDB ERROR vgId:3 failed to get table to insert data,uid 844438318559607 tid 798 04/21 10:44:21.664140 00042352 TDB ERROR vgId:3 failed to insert data since Invalid table ID
服务器端似乎出了点问题。我可以知道是否有人可以帮忙吗?
谢谢

os8fio9y

os8fio9y1#

  • 从JMeter的Angular 来看,我只能推荐:
  • JMeter Best Practices
  • saving request/response data用于调查问题的时间范围,这样您就可以确信JMeter不会在正确构造请求时失败
  • 确保在空闲CPU/RAM等方面有足够的空间供JMeter运行。
  • 从TDengine的Angular 来看,只有上述关于资源监控的观点适用,请确保没有过多的CPU,RAM,网络或磁盘IO使用。这可以使用i.e. JMeter PerfMon Plugin

除了检查日志中的可疑条目外,您还可以使用show dnodes;show mnode;show vgroups等命令检查群集状态,并查找open issues

xhv8bpkk

xhv8bpkk2#

Invaid table id是TDengine 2.x版本中存在的特殊错误代码。根本原因是vnode meta和mnode元之间的不一致。你最好用3.0来永久解决这个问题。

相关问题