Heim >Datenbank >MySQL-Tutorial >Python 写的一个MongoDB压力测试

Python 写的一个MongoDB压力测试

WBOY
WBOYOriginal
2016-06-07 15:53:211762Durchsuche

Python 写的一个MongoDB压力测试 $ pip install pymongo #!/usr/bin/env python#coding=utf-8#Author: Ca0Gu0 from pymongo impo

Python 写的一个MongoDB压力测试

$ pip install pymongo

#!/usr/bin/env python
#coding=utf-8
#Author: Ca0Gu0

from pymongo import MongoClient
import datetime,time

 

class MongCli(object):
   

    def __init__(self, host="127.0.0.1", port=27017, user='pytest', passwd ='pytest123', database="pytest"):

        self.host = host
        self.port = port
        self.user = user
        self.passwd = passwd
       
        self.database = database

        client = MongoClient(self.host, self.port)
        client.the_database.authenticate(self.user, self.passwd, source=self.database)
               
        self.db=client[self.database]
        self.posts = self.db.posts

    def t(self, args1=None, args2=None):
       
        c=datetime.datetime.now()
        print "%s|%s... |%s|Row:%s| %s" %(self.host, args1, args2, self.posts.count(), c.strftime("%Y-%m-%d %H:%M:%S"))
        return c
   
   
   
    def write(self,number=100):
        start = self.t(args1="start", args2="write")
        for i in range(number):
            post = {"author": "Mike"+str(i),
                    "text": "My first blog post!"+str(i),
                    "tags": ["mongodb", "python", "pymongo"],
                    "date": datetime.datetime.utcnow()}
           
       
            post_id = self.posts.insert_one(post).inserted_id
        end = self.t(args1="end", args2="write")
        print "Total write runtime: %ss" %str((end-start).seconds)
   
    def read(self):
        start = self.t(args1="start", args2="read")
        output = open("output.txt", 'w')
        for post in self.posts.find():
            try:
                output.write(str(post)+"\n")
            except Exception,e:
                print e
        output.close()
        end = self.t(args1="end", args2="read")
        print "Total read runtime: %ss" %str((end-start).seconds)
        print "----------Split--------"
       
       
if __name__ == "__main__":
    f = MongCli(host="127.0.0.1", port=27017, user='admin', passwd ='admin', database="admin")
    f.write(20000)
    f.read()

Python 写的一个MongoDB压力测试

MongoDB 3.0 正式版发布下载 

CentOS编译安装MongoDB

CentOS 编译安装 MongoDB与mongoDB的php扩展

CentOS 6 使用 yum 安装MongoDB及服务器端配置

Ubuntu 13.04下安装MongoDB2.4.3

MongoDB入门必读(概念与实战并重)

Ubunu 14.04下MongoDB的安装指南

《MongoDB 权威指南》(MongoDB: The Definitive Guide)英文文字版[PDF]

Nagios监控MongoDB分片集群服务实战

基于CentOS 6.5操作系统搭建MongoDB服务

MongoDB 的详细介绍:请点这里
MongoDB 的下载地址:请点这里

本文永久更新链接地址

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn