【问题标题】:Invalid table ID error when too many JDBC threads inserting data to TDengine过多的 JDBC 线程向 TDengine 插入数据时出现 Invalid table ID 错误
【发布时间】:2021-09-29 22:53:12
【问题描述】:

我正在做一个项目来使用多个线程来模拟密集的数据写入时间序列数据库。这里是 TDengine。

当我将线程数增加到 1000 以将数据写入 TDengine 服务器时,错误返回如下: java.sql.SQLException: TDengine ERROR (80000600): Invalid table ID

并且一些错误同时返回: java.sql.SQLException: TDengine ERROR (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 错误 vgId:3 无法获取表以插入数据,uid 844438318559607 tid 798 04/21 10:44:21.664140 00042352 TDB ERROR vgId:3 插入数据失败,因为表 ID 无效

服务器端似乎有问题。我可以知道是否有人可以帮忙吗?

谢谢,

【问题讨论】:

    标签: jdbc jmeter time-series performance-testing database-performance


    【解决方案1】:
    1. 从 JMeter 的角度我只能推荐:

    2. 从 TDengine 的角度来看,仅上述关于资源监控的点适用,请确保 CPU、RAM、网络或磁盘 IO 使用率过高。可以使用 JMeter PerfMon Plugin

      来完成

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

    【讨论】:

    • 感谢您的解释。我会按照最佳实践文档来减少并发客户端,然后再试一次。
    猜你喜欢
    • 2021-11-22
    • 2014-10-05
    • 2012-06-20
    • 2022-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-02
    相关资源
    最近更新 更多