测试mongoDB插入速度

运行mongodb:mongoDB下运行./bin/mongo

0.运行环境见最后

1.查看db大小:show dbs

2.使用test数据库:use

3.插入函数编写:

测试insert时间函数

var inserttimes=function(n){
var start=(new Date()).getTime();
 for(var i=1;i<=n;i++){
 db.tester.insert({"name":"xubo","time":"20150813","ops":"testinserttimes"});
 }
var timeDiff=(new Date()).getTime()-start;
 print("n:"+ n +"insert times:"+timeDiff+"ms");
}

测试多组n值:

for(var i=1;i<=100000000000;i=i*10){
inserttimes(i);
}

4.运行结果:



n:1insert times:5ms
n:10insert times:7ms
n:100insert times:67ms
n:1000insert times:515ms
n:10000insert times:4831ms
n:100000insert times:45211ms
n:1000000insert times:460268ms
n:10000000insert times:4612411ms

运行更大的n时不想等就中断了。有兴趣的可以继续测试。


查看数据库大小:

> show dbs
local  0.078GB
test   3.952GB
test1  0.078GB
xubo   0.078GB
> x

查看数据库状态:db.stats()

> db.stats()
{
	"db" : "test",
	"collections" : 3,
	"objects" : 12150584,
	"avgObjSize" : 111.99998419829039,
	"dataSize" : 1360865216,
	"storageSize" : 1580163072,
	"numExtents" : 21,
	"indexes" : 1,
	"indexSize" : 394271248,
	"fileSize" : 4226809856,
	"nsSizeMB" : 16,
	"extentFreeList" : {
		"num" : 0,
		"totalSize" : 0
	},
	"dataFileVersion" : {
		"major" : 4,
		"minor" : 22
	},
	"ok" : 1
}
> 

显示插入了12150584条数据。


5.删除速度测试:drop和remove

1).drop

> db.tester.findOne();
{
	"_id" : ObjectId("55cc21a8479362971e927006"),
	"name" : "xubo",
	"time" : "20150813",
	"ops" : "testinserttimes"
}
> db.stats()   
{
	"db" : "test",
	"collections" : 3,
	"objects" : 12150584,
	"avgObjSize" : 111.99998419829039,
	"dataSize" : 1360865216,
	"storageSize" : 1580163072,
	"numExtents" : 21,
	"indexes" : 1,
	"indexSize" : 394271248,
	"fileSize" : 4226809856,
	"nsSizeMB" : 16,
	"extentFreeList" : {
		"num" : 0,
		"totalSize" : 0
	},
	"dataFileVersion" : {
		"major" : 4,
		"minor" : 22
	},
	"ok" : 1
}
> var droptimes=function(){
... var start=(new Date()).getTime();
...  
...  db.tester.drop();
...  var timeDiff=(new Date()).getTime()-start;
...  print("drop times:"+timeDiff+"ms");
... }
> removetimes()
remove times:32ms
> db.stats()
{
	"db" : "test",
	"collections" : 2,
	"objects" : 1,
	"avgObjSize" : 48,
	"dataSize" : 48,
	"storageSize" : 12288,
	"numExtents" : 2,
	"indexes" : 0,
	"indexSize" : 0,
	"fileSize" : 4226809856,
	"nsSizeMB" : 16,
	"extentFreeList" : {
		"num" : 32,
		"totalSize" : 2041004032
	},
	"dataFileVersion" : {
		"major" : 4,
		"minor" : 22
	},
	"ok" : 1
}
> db.tester.findOne();
null
> },

drop 删除12150584数据时间32ms,基本可以忽略。
查看data/db文件并没有变小,也就是drop并没有从磁盘上删除数据。

xubo@xubo:~/cloud/mongodb/data/db$ du -sh *
3.1G	journal
64M	local.0
16M	local.ns
4.0K	mongod.lock
4.0K	storage.bson
64M	test.0
128M	test.1
65M	test1.0
16M	test1.ns
256M	test.2
513M	test.3
1.1G	test.4
2.0G	test.5
16M	test.ns
4.0K	_tmp
64M	xubo.0
16M	xubo.ns


当删除数据库是会删除:

> db.dropDatabase();
{ "dropped" : "test", "ok" : 1 }

xubo@xubo:~/cloud/mongodb/data/db$ du -sh *
3.1G	journal
64M	local.0
16M	local.ns
4.0K	mongod.lock
4.0K	storage.bson
65M	test1.0
16M	test1.ns
4.0K	_tmp
64M	xubo.0
16M	xubo.ns

2). remove数据:811478条

> var removetimes=function(){
... var start=(new Date()).getTime();
...  
...  db.tester.remove({});
...  var timeDiff=(new Date()).getTime()-start;
...  print("remove times:"+timeDiff+"ms");
... }
> removetimes()
remove times:9459ms
> 
时间为:remove times:9459ms



附录:运行环境:

xubo@xubo:~/cloud/mongodb/data/db$  lshw -short
WARNING: you should run this program as super-user.
PCI (sysfs)  
H/W path     Device  Class       Description
============================================
                     system      Computer
/0                   bus         Motherboard
/0/0                 memory      3852MiB System memory
/0/1                 processor   Intel(R) Core(TM)2 Duo CPU     E7500  @ 2.93GHz
/0/100               bridge      4 Series Chipset DRAM Controller
/0/100/1             bridge      4 Series Chipset PCI Express Root Port
/0/100/2             display     4 Series Chipset Integrated Graphics Controller
/0/100/2.1           display     4 Series Chipset Integrated Graphics Controller
/0/100/1b            multimedia  NM10/ICH7 Family High Definition Audio Controll
/0/100/1c            bridge      NM10/ICH7 Family PCI Express Port 1
/0/100/1c/0  eth0    network     NetLink BCM57780 Gigabit Ethernet PCIe
/0/100/1d            bus         NM10/ICH7 Family USB UHCI Controller #1
/0/100/1d.1          bus         NM10/ICH7 Family USB UHCI Controller #2
/0/100/1d.2          bus         NM10/ICH7 Family USB UHCI Controller #3
/0/100/1d.3          bus         NM10/ICH7 Family USB UHCI Controller #4
/0/100/1d.7          bus         NM10/ICH7 Family USB2 EHCI Controller
/0/100/1e            bridge      82801 PCI Bridge
/0/100/1f            bridge      82801GB/GR (ICH7 Family) LPC Interface Bridge
/0/100/1f.1          storage     82801G (ICH7 Family) IDE Controller
/0/100/1f.2          storage     NM10/ICH7 Family SATA Controller [IDE mode]
/0/100/1f.3          bus         NM10/ICH7 Family SMBus Controller
/1           tap0    network     Ethernet interface
WARNING: output may be incomplete or inaccurate, you should run this program as super-user.

ubuntu14.04,mongodb3.0.5,单节点






  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值