测试准备

需要将InfluxDB的源码放入 go/src/github.com/influxdata 目录

单写测试代码(write1.go):

package mainimport ("log""time""fmt""math/rand""github.com/influxdata/influxdb/client/v2"
)const (MyDB = "testInfluxdb"username = "root"password = ""
)func queryDB(clnt client.Client, cmd string) (res []client.Result, err error) {q := client.Query{Command:  cmd,Database: MyDB,}if response, err := clnt.Query(q); err == nil {if response.Error() != nil {return res, response.Error()}res = response.Results} else {return res, err}return res, nil
}func writePoints(clnt client.Client,num int) {sampleSize := 1 * 10000rand.Seed(42)t := numbp, _ := client.NewBatchPoints(client.BatchPointsConfig{Database:  MyDB,Precision: "us",})for i := 0; i < sampleSize; i++ {t += 1tags := map[string]string{"system_name": fmt.Sprintf("sys_%d",i%10),"site_name":fmt.Sprintf("s_%d", (t+i) % 10),"equipment_name":fmt.Sprintf("e_%d",t % 10),}fields := map[string]interface{}{"value" : fmt.Sprintf("%d",rand.Int()),}pt, err := client.NewPoint("monitorStatus", tags, fields,time.Now())if err != nil {log.Fatalln("Error: ", err)}bp.AddPoint(pt)}err := clnt.Write(bp)if err != nil {log.Fatal(err)}//fmt.Printf("%d task done\n",num)
}func main() {// Make clientc, err := client.NewHTTPClient(client.HTTPConfig{Addr: "http://localhost:8086",Username: username,Password: password,})if err != nil {log.Fatalln("Error: ", err)}_, err = queryDB(c, fmt.Sprintf("CREATE DATABASE %s", MyDB))if err != nil {log.Fatal(err)}i := 1for i <= 10000 {defer writePoints(c,i)//fmt.Printf("i=%d\n",i)i += 1}//fmt.Printf("task done : i=%d \n",i)

}

单机读:

package mainimport ("log"//"time""fmt"//"math/rand""github.com/influxdata/influxdb/client/v2"
)const (MyDB = "testInfluxdb"username = "root"password = ""
)func queryDB(clnt client.Client, cmd string) (res []client.Result, err error) {q := client.Query{Command:  cmd,Database: MyDB,}if response, err := clnt.Query(q); err == nil {if response.Error() != nil {return res, response.Error()}res = response.Results} else {return res, err}return res, nil
}func main() {// Make clientc, err := client.NewHTTPClient(client.HTTPConfig{Addr: "http://localhost:8086",Username: username,Password: password,})if err != nil {log.Fatalln("Error: ", err)}q := fmt.Sprintf("select * from monitorStatus where system_name='sys_5' and site_name='s_1' and equipment_name='e_6' order by time desc limit 10000 ;")res, err2 := queryDB(c, q)if err2 != nil {log.Fatal(err)}count := len(res[0].Series[0].Values)log.Printf("Found a total of %v records\n", count)}

代码摘自:http://www.cnblogs.com/MikeZhang/p/InfluxDBTest20170212.html

转载于:https://www.cnblogs.com/bonelee/p/6813989.html

influx测试——单条读性能很差,大约400条/s,批量写性能很高,7万条/s,总体说来适合IOT数据批量存,根据tag查和过滤场景,按照时间顺序返回...相关推荐

  1. 在网上看到和篇关于sql server 2005的性能优化篇,觉得写得很好。

    在网上看到和篇关于sql server 2005的性能优化篇,觉得写得很好. SQL Server2005扩展函数已经不是一件什么新鲜的事了,但是我看网上的大部分都是说聚合函数,例子也比较浅,那么这里 ...

  2. postgis数据库优化_PostgreSQL批量导入性能优化

    现在很多企业都将数据库逐渐由Mysql转向了更加强大而且开源的PostgreSQL数据库.在数据迁移过程中,PostgreSQL数据库导入大量数据时候非常缓慢,本文我们就来说说PostgreSQL数据 ...

  3. paddle静态图训练,训练集和测试集效果都有很好,但验证集上效果很差

    在paddle静态图训练中,训练集和测试集效果都有很好,但验证集上效果很差 在paddle的训练中,如果使用这样的方式进行训练 main_program = fluid.default_main_pr ...

  4. 苹果手机移动信号测试软件,同样是苹果手机,为何别人的信号很好,你却很差?检测方法在这里...

    同样是苹果手机,为何别人的信号很好,你却很差?检测方法在这里 关于苹果手机的信号问题,据说在过去的两年里它经常被用户吐槽,并且苹果方面从未给出解决方案,原因是苹果在专利战中以高通撕裂了面孔,合作破裂, ...

  5. 作为反馈电路有很好的相位裕度、但很差的稳定性能的一个例子

    作为反馈电路有很好的相位裕度.但很差的稳定性能的一个例子 拉扎维 P291

  6. 在测试行业找工作2个月,投的简历都石沉大海,我真的很差吗?

    几天前刷到一个帖子 我是软件测试专业,在找工作的历程中越发迷茫,投了很多简历都石沉大海,有点怀疑自己了,我真的很差吗? 看到这样的同道中人非常多,所以我决定给大家分享两步方法,提高简历命中率. 首先一 ...

  7. Elasticsearch-32.生产环境常用配置与上线清单 he 集群写性能优化 he 集群读性能优化

    Elasticsearch 生产环境常用配置和上线清单 Development vs.Production Mode 从ES 5开始,支持Development 和Production 两种运行模式 ...

  8. 你知道为啥给JVM分配的内存越大,结果性能越差吗?

    前言 这篇文章,给大家聊一个生产环境的实践经验:线上系统部署的时候,JVM堆内存大小是越大越好吗? 先说明白一个前提,本文主要讨论的是Kafka和Elasticsearch两种分布式系统的线上部署情况 ...

  9. 网站性能越来越差怎么办?

    新的一年,你的老板或客户,是否曾和你抱怨公司的网站性能愈来愈差?网站大家都会写,自从有了 Visual Studio 之后,连你家楼下的正妹小喵和隔壁的王大婶都会写 ASP.NET.但同样的一个画面, ...

最新文章

  1. Fiddler抓取数据并分析(完整的配置教程)
  2. 10个操作数的随机四则运算(二)
  3. python中字典和集合的区别_Python中字典和集合学习小结
  4. docker安装elasticsearch和kibana
  5. leetcode 106. Construct Binary Tree from Inorder and Postorder Traversal | 106. 从中序后序遍历序列构造二叉树(Java)
  6. 这才是真正的,坐上来,自己动!| 今日趣图
  7. 初识openwrt(下)
  8. SprinBoot整合SSM之添加
  9. aic值检验 p值_23. 假设检验的时候为什么常写p lt; 0.05,而不写具体的p值?
  10. 微信蓝牙协议一:协议文档查阅方法和空中数据解析示例
  11. 现在学python2还有意义吗_现在学python该学python2还是python3?
  12. Raki的读paper小记:Style Transformer
  13. xp系统远程桌面关闭计算机,系统是xp在本机开启远程桌面后,别人使用远程桌面连接我的电脑,我的电脑就会出现蓝屏停止代码是0x0000007f...
  14. 计算机打数据执行保护删除不掉,XP老是出现“数据执行保护”怎么办?教你方法轻松解决此问题...
  15. 计算机系学生thinkbook,设计师笔记本电脑推荐 ThinkBook 15p视觉系创造本你值得拥有...
  16. 千与千寻主题曲beep函数版
  17. SaaSBase:什么是企业微信?
  18. 右侧追击(二)——券商行业
  19. 【机器学习实战】k-近邻算法案例——改进约会网站的配对效果
  20. 【工具】Gamepad Tester游戏手柄在线测试平台

热门文章

  1. 高级bash脚本编程(1)
  2. valgrind 的使用简介
  3. linux cpu %us,Linux top里面%CPU和us%的解释
  4. 博易大师服务器文件,博易大师自选和页面设置文件如何保存?
  5. c语言实现补码加减,C语言实现用位移运算符进行加减乘…
  6. python列表删除指定字典_Python:从列表中删除字典
  7. 数据备份_天津数据备份工具多少钱
  8. h2 迁移到 mysql_[saiku] 将saiku自带的H2嵌入式数据库迁移到本地mysql数据库
  9. java编程器答疑z湖南岚鸿,吐血整理
  10. 【原理+实战+视频+源码】手撸SpringBoot缓存系统