OpenTSDB性能测试
来源:互联网 发布:厦门广电网络集团 编辑:程序博客网 时间:2024/06/05 22:53
一、测试环境
OpenTSDB单节点部署,底层HBase存储为7节点集群。每个节点由XenServer虚拟,虚拟的硬件配置相同。
单节点内存:16GB
单节点CPU:双核 Intel(R) Xeon(R) CPU E5-2620 v3 @ 2.40GHz (x86_64)
HBase部署:RegionServer为5节点,2个HMaster节点(其中一个备用)。
HBase RegionServer最大JVM内存配置:4G
二、测试过程及结果记录
1、测试单线程写入OpenTSDB速度,使用HTTP API请求。
样本数据:1-20设备ID(共20设备),每个设备500测点(K1-K350,T1-T150),源数据格式(每个条目,相当于MySQL中的一行数据)为<time,id,K1..K350,T1..T150>,每个字段都是String编码格式,其中Kn属于开关量,取值{0,1},Tn属于Double量。数据每秒产生一次,共产生12小时数据 (43200条)。一次HTTP写请求可以携带多个数据条目。HTTP写请求每批次(每次HTTP POST长度)数据体长度(字节,不是条目数)控制在8k(范围[8110, 8209])以下。HTTP写请求的数据体为JSON格式。
测试结果:十条(一条一个设备,共十个设备,所有设备各有500测点)数据批量写入约为900ms。
2、测试多线程写入一批数据到OpenTSDB耗时,使用HTTP API请求。
样本数据:同上,因数据每秒每台设备产生一条,积攒10s后一次性处理写入。产生10秒数据(共 5000条)。使用多线程(10线程,可配)并发写入,每线程处理50台设备。
时间戳截取:从开始启动截取一次,每个现成处理完最后一条数据各截取自己的时间戳,在这个过程中每个线程将写入5000/线程数条数据到OpenTSDB。
测试结果:不同线程数并行处理耗时,单位毫秒(millisecond)。
线程数
开始时间戳
时间戳范围
时间间隔范围
10
1489729025703
[1489729053443,1489729053986]
[27740, 28283]
20
1489730351485
[1489730376983,1489730379312]
[25498, 27827]
测试5秒产生的数据写入耗时(线程数10)。
数据量
开始时间戳
时间戳范围
时间间隔范围
5秒
1489731656466
[1489731670147,1489731671317]
[13681, 14851]
三、结论
简单分析多线程环境下测试数据,10线程与20线程下10秒钟数据量的写入时间没有太大差别,20线程稍快。得出以下结论:
1. 10线程
平均写入速度为0.112ms/点,单线程平均每秒写入8928.57点。10线程总吞吐量为平均每秒89285.7点。
2. 20线程
平均写入速度为0.2133ms/点,单线程平均每秒写入4688.23点。20线程总吞吐量为平均每秒93764.6点。
- OpenTSDB性能测试
- opentsdb
- 搭建Hbase+openTSDB+Grafana测试环境
- opentsdb-2.0.1 RPM包的安装以及测试
- OpenTSDB学习
- OpenTSDB compact
- OpenTSDB简介
- OpenTSDB简介
- OpenTSDB简介
- OpenTSDB TroubleShooting
- opentsdb简介
- opentsdb安装
- OpenTSDB简介
- openTSDB基本原理
- OpenTSDB部署
- OpenTSDB介绍
- 性能测试
- 性能测试
- 警告
- 使用xib需要记得的小问题
- 浅析
- IMWeb提升营 —Day7(补)
- CUDA从入门到精通
- OpenTSDB性能测试
- Swift
- AZ3166开发套件
- Swift
- ReactiveCocoa(3)高级用法
- Swift
- Swift
- Scala 语言执行方式
- 新建keil工程每一个文件夹的作用