Fork me on GitHub

针对mongoDB数据库性能测试的相关总结

背景

公司针对mysql和mongo开发了相应的数据库管理平台(其实就是包了个壳),需对底层数据库做性能测试,获取相应的性能参数,在此记录测试过程中学到的一些东西

mongo简介

mongodb是怎么样的数据库

摘抄网络上的,简单记录下

mongodb是非关系型数据库,它的特点是高性能、易部署、易使用,存储数据非常方便。

主要功能特性有:

    *面向集合存储,易存储对象类型的数据。
    *模式自由。
    *支持动态查询。
    *支持完全索引,包含内部对象。
    *支持查询。
    *支持复制和故障恢复。
    *使用高效的二进制数据存储,包括大型对象(如视频等)。
    *自动处理碎片,以支持云计算层次的扩展性。
    *支持RUBY,PYTHON,JAVA,C++,PHP,C#等多种语言。
    *文件存储格式为BSON(一种JSON的扩展)。
    *可通过网络访问。

咋用

安装

启动:/usr/bin/mongod -f /etc/mongod.conf

简单的语句

1、删除全部数据
    db.Account.remove({})
2、建表
    db.createCollection("表名")
    db.createCollection("表名",{capped:true, size:10000}) { "ok" : 1 }
3、查看表数据
    db.表名.find()
4、删除数据
    db.表名.remove({"字段名":"字段内容"})
5、添加用户角色
    创建一个可以连接到任何数据库的用户test来查询和写入元数据到testdb
    db.createUser({user:"test",pwd:"test",roles:["readAnyDatabase",{role:"admin",db:"testdb"}]})
6、删除用户角色
    db.dropUser("test");
7、多条件查询:db.media.find({"$and":[{"consumername" : "onair"},{"isdel" : "1"}]}).count()

做测试用到的一些

1、大批量插入数据
    for(var i=0;i<10000000;i++){
        db.test.insert({"name":"test"+i,"age":parseInt(i*Math.random())})
    }

使用客户端工具如:Robomongo 1.0.0-RC1、NoSQL Manager for MongoDB再或者mongodbmanager执行以上语句灌数据时,灌几万条数据后会报错停止(错误信息忘记记录了),后来写了简单的java代码,使用LR进行执行进行测试数据的灌入

未完待续

-------------本文结束感谢您的阅读-------------
坚持原创技术分享,您的支持将鼓励我继续创作!
0%