超出资源限制

问题描述 投票:0回答:1

我执行查询,结果是:CnosDB占用的资源远远超过资源限制。到底是怎么回事?有谁遇到过类似问题吗

详情如下:

  1. 启动 3meta 2 tskv CnosDB 集群:

    nohup ./target/release/cnosdb-meta --config ./meta/config/config_8901.toml &
    sleep 3
    nohup ./target/release/cnosdb-meta --config ./meta/config/config_8911.toml &
    sleep 3
    nohup ./target/release/cnosdb-meta --config ./meta/config/config_8921.toml &
    sleep 3
    curl --silent "127.0.0.1:9901/init" -H "Content-Type: application/json" -d "{}"
    sleep 2
    curl --silent "127.0.0.1:9901/add-learner" -H "Content-Type: application/json" -d '[2, "127.0.0.1:9911"]'
    sleep 2
    curl --silent "127.0.0.1:9901/add-learner" -H "Content-Type: application/json" -d '[3, "127.0.0.1:9921"]'
    sleep 2
    curl --silent "127.0.0.1:9901/change-membership" -H "Content-Type: application/json" -d "[1, 2, 3]"
    sleep 2
    curl --silent "127.0.0.1:9901/metrics"
    sleep 3
    # nohup ./target/release/cnosdb run -c 8 -m 32 --config ./config/config_8902.toml &
    sleep 2
    nohup ./target/release/cnosdb_2.3.5_20240322_1536 run -c 8 -m 32 --config ./config/config_8912.toml &
    
  2. 加载一些数据到CnosDB

    数据特征如下:

    1. 第 500 栏;

    2. 数据类型:string+double+int;

    3. 副本:双重副本;

    4. 写入数据库后占用空间:2.1TB

  3. 我做了一个限制查询如下:

    select * from testtb where time >= '2021-01-01 00:00:00.000000' and time <= '2021-02-01 00:00:00.000000' limit 10;
    

查询了两个小时没有结果,物理机内存已经耗尽(64cpu+256GB mem)

显示器如下:

有人遇到过这个问题吗?资源限制没有生效吗?

database time-series cnosdb
1个回答
0
投票

为了解决此问题,您可以尝试以下步骤:

  1. 检查查询语句的性能并尝试优化查询以减少执行时间和资源消耗。
  2. 检查物理机的资源分配,确保CnosDB集群足够。
  3. 检查CnosDB集群的配置文件,确保资源限制设置正确。
  4. 考虑对数据进行分区或切片,以减少查询的数据量。
© www.soinside.com 2019 - 2024. All rights reserved.