InfluxDB读写性能测试
这里将告诉您InfluxDB读写性能测试,教程操作步骤:
今天进行了InfluxDB和MySQL的对比测试,这里记录下结果,也方便我以后查阅。
操作系统: CentOS6.5_x64InfluxDB版本 : v1.1.0MySQL版本:v5.1.73CPU : Intel(R) Core(TM) i5-2320 CPU @ 3.00GHz内存 :12G硬盘 :SSD
一、MySQL读写测试 测试准备
初始化SQL语句:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
单写测试代码(insertTest1.c):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
|
View Code
可根据情况调整测试代码中的N参数。
单读测试代码(queryTest1.c):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
|
View Code
Makefile文件:
1 2 3 4 5 6 7 |
|
测试数据记录
磁盘空间占用查询:
使用du方式(新数据库,仅为测试):
1 |
|
查询特定表:
1 2 |
|
测试结果:
100万条数据
1 2 3 4 5 6 7 8 9 10 11 12 |
|
原始数据 : 28.6Mdu方式 : 279MBsql查询方式: 57.59MB写入速度: 12398 / s读取速度: 37174 / s
1000万条数据
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
原始数据 : 286Mdu方式 : 2.4Gsql查询方式: 572MB写入速度: 22988 / s读取速度: 1516 / s
3000万条数据
1 2 3 4 5 6 7 8 9 10 11 |
|
原始数据 : 858Mdu方式 : 7.1Gsql查询方式: 1714MB写入速度: 24228 / s读取速度: 2261 / s
二、InfluxDB读写测试 测试准备
需要将InfluxDB的源码放入 go/src/github.com/influxdata 目录
单写测试代码(write1.go):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 |
|
View Code
单读测试代码(query1.go):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
|
View Code 测试结果记录
查看整体磁盘空间占用:
1 |
|
查看最终磁盘空间占用:
1 |
|
100万条数据
1 2 3 4 5 6 7 8 9 10 11 |
|
原始数据 : 28.6M整体磁盘占用:27M最终磁盘占用:21M写入速度: 68521 / s读取速度: 45045 / s
1000万条数据
1 2 3 4 5 6 7 8 9 10 11 12 |
|
原始数据 : 286M整体磁盘占用:214M最终磁盘占用:189M 写入速度: 70165 / s读取速度: 45249 / s
3000万条数据
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
原始数据 : 858M整体磁盘占用:623M最终磁盘占用:602M写入速度: 68318 / s读取速度: 42918 / s
三、测试结果分析
整体磁盘占用情况对比:
最终磁盘占用情况对比:
写入速度对比:
读取速度对比:
结论:
相比MySQL来说,InfluxDB在磁盘占用和数据读取方面很占优势,而且随着数据规模的扩大,查询速度没有明显的下降。针对时序数据来说,InfluxDB有明显的优势。
好,就这些了,希望对你有帮助。
- 上一篇 »监视Linux服务器的性能
- 下一篇 »一文了解MySQL的Buffer Pool