测试mongodb的插入性能

1 篇文章 0 订阅
1 篇文章 0 订阅
#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。

其他测试还有待继续。


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值