InfluxDB与MySQL的性能测试


一、单线程插入查询对比

注:批量插入,每批1万条

配置:

CPU:16  Intel(R) Xeon(R) Silver 4110 CPU @ 2.10GHz
内存:16G
磁盘:4T

MySQL: V5.7
InfluxDB: V1.8.0

 

 

结论:插入速度InfluxDB是MySQL的两倍,查询速度InfluxDB是MySQL的45倍(查询数据量很少的情况,大约1000条左右)

二、MySQL和InfluxDB分别从一亿的表中取一定量数据对比

 结论:查询速度InfluxDB是MySQL的2倍多

三、多个线程分别取十万条数据对比

  

结论:多线程下查询速度InfluxDB是MySQL的4倍

四、多个线程分别插入2000万数据

结论:插入速度InfluxDB是MySQL的2倍多

五、结论总结

 单线程:写入速度InfluxDB是MySQL的2倍左右
        查询速度InfluxDB是MySQL的2倍左右
多线程:写入速度InfluxDB是MySQL的2.5倍左右
        查询速度InfluxDB是MySQL的4倍左右

写数据瓶颈在于带宽

InfluxDB应用场景
InfluxDB(时序数据库),常用的一种使用场景:监控数据统计。每毫秒记录一下电脑内存的使用情况,
然后就可以根据统计的数据,利用图形化界面(InfluxDB V1一般配合Grafana)制作内存使用情况的折线图;
可以理解为按时间记录一些数据(常用的监控数据、埋点统计数据等),然后制作图表做统计;

InfluxDB自带的各种特殊函数如求标准差,随机取样数据,统计数据变化比等,使数据统计和实时分析变得十分方便,适合用于包括DevOps监控,应用程序指标,物联网传感器数据和实时分析的后端存储。类似的数据库有Elasticsearch、Graphite等。