产品性能

最近更新时间:2019-08-27 16:00:46

性能概述

时序数据库 CTSDB 由节点组成,单节点的规格和节点数量决定了 CTSDB 实例的处理能力。理论上:
CTSDB 实例读写并发性能 = ∑(某节点的性能 * 节点数量)
因此,节点规格越高,节点数量越多,实例的读写能力越强,而单节点的性能主要跟 CPU 和内存配置相关。实例的具体性能随着单节点配置、节点数量和写入字段数量等而改变
本文档给出的测试数据是在指定参数下的参考值,仅作为选型参考依据,实际情况需要业务真实的测试。

性能测试

测试工具

下载测试工具

测试步骤

1. 建表
命令如下:

    #建立 metric(注意这里 tags 里只有一个 host,但当写入的数据有新的字段时,这些字段将自动作为 tag,放入 tags 里面)
    curl -u {user}:{passwd} -XPUT {ctsdb_ip_port}/_metric/testa10?pretty -d '{ 
    "tags": {
    "http_code": "string"
    },
    "fields": {"count1":"long","count2":"long","count3":"long","count4":"long","count5":"long","count6":"long","count7":"long","count8":"long","count9":"long","count10":"long"
    },
    "time": {   
    "name": "timestamp",
    "format": "epoch_second"
    },
    "options": { 
    "expire_day": -1, 
    "refresh_interval": "10s",   
    "number_of_shards": 3, 
    "number_of_replicas": 1, 
    "rolling_period": -1
    }
    }'
    # 查询metric
    curl {ctsdb_ip_port}/_metric/testa10?pretty
    # 删除metric(同时会删除对应的所有数据)
    curl -XDELETE  {ctsdb_ip_port}/_metric/testa10
说明:

其中 {ctsdb_ip_port} 为时序数据库 CTSDB 访问端口,{user} 和 {passwd} 分别为用户名和密码。

2. 写入数据
使用脚本批量写入,脚本下载链接,参数简介如下:

 - db_url string
    实例的 vip 和 Vport (格式如 10.02.36.89:9200)
 - metric_name string
    需要写入的 metric 名称 
 - data_num int
    一个客户端一次写入的记录数量
 - threads_nmb int
    写入并发数 
 - counts int
    一个记录中 filed 的数量

运行脚本前请修改脚本第18行的 userpwd。

使用样例:

    python testa.py 10.0.1.10:9200 testa10 4000 9 10

脚本输出:
分为两部分,params:选项参数,results:最终结果。

    -------------- params --------------
    put_url http://10.0.1.10:9200/testa10/doc/_bulk
    dataNum: 4000
    threads_nmb: 9
    counts: 10
    -------------- results --------------
    start all threads 2018-12-25 20:10:24

    exit all threads 2018-12-25 20:10:24
    startTime: 1545739824.51
    endTime: 1545739824.55
    diffTime: 0.0414531230927
    wps: 158450.850363
说明:

平均写入速率为 wps 字段输出的结果。

性能参考值

说明:

时序数据库 CTSDB 单节点配置和节点数可任意组合,本文只给出三种实例配置的参考值,其它配置下的性能值用户可根据 性能概述 的性能估算方式进行估算,也可基于测试脚本进行测试。

并发线程数:9
写入字段数:10

单节点配置 节点数 写入能力
1核4GB内存 3 3万点/秒 - 5万点/秒
4核20GB内存 3 9万点/秒 - 12万点/秒
8核40GB内存 3 11万点/秒 - 15万点/秒