您的位置:首页 > 数据库 > Mongodb

测试mongodb的插入性能

2011-09-21 09:50 134 查看
#coding:utf-8

"""
用于测试mongodb的插入性能
起4个进程 每个进程起25个线程 每个线程做9000次插入操作
计算消耗的时间
"""
import pymongo
from multiprocessing import Process
from time import ctime,sleep
from threading import Thread
import os

conn = pymongo.Connection()

#测试一下
#collection.insert({'uid':'00011','uname':'qinxiuchen','udescription':'he is a man who come from elex and gratitute from buaa'})

#re = collection.find_one()

#print re

#进程方法
def processFun():
import multiprocessing
#起25个线程
tList = []
for i in range(0,25):
t = Thread(target=threadFun, args=(os.getpid(),))
tList.append(t)
for t in tList:
t.start()
for t in tList:
t.join()
pass

#线程方法
def threadFun(pid):
collection = conn.test.testinsert
for i in range(0, 50000):
collection.insert({'uid':str(pid)+str(i),'uname':'qinxiuchen','udescription':'he is a man who come from elex and gratitute from buaa'})
pass

if __name__ == '__main__':
pList = []
print 'start main process at:',ctime()
for i in range(0,4):
p = Process(target=processFun, args=())
pList.append(p)
p.start()
for p in pList:
p.join()
print 'end main process at:',ctime()

采用非安全模式。

随着插入条目的增多,消耗时间基本呈线性增长,若选择每个线程插入50000条数据共消耗100s。

其他测试还有待继续。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: