热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Python写的一个MongoDB压力测试

nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd

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()

#

MongoDB 3.0 正式版发布下载  2015-03/114414.htm

CentOS编译安装MongoDB 2012-02/53834.htm

CentOS 编译安装 MongoDB与mongoDB的php扩展 2012-02/53833.htm

CentOS 6 使用 yum 安装MongoDB及服务器端配置 2012-08/68196.htm

Ubuntu 13.04下安装MongoDB2.4.3 2013-05/84227.htm

MongoDB入门必读(概念与实战并重) 2013-07/87105.htm

Ubunu 14.04下MongoDB的安装指南 2014-08/105364.htm

《MongoDB 权威指南》(MongoDB: The Definitive Guide)英文文字版[PDF] 2012-07/66735.htm

Nagios监控MongoDB分片集群服务实战 2014-10/107826.htm

基于CentOS 6.5操作系统搭建MongoDB服务 2014-11/108900.htm

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


推荐阅读
  • 本文详细介绍了使用 Python 进行 MySQL 和 Redis 数据库操作的实战技巧。首先,针对 MySQL 数据库,通过 `pymysql` 模块展示了如何连接和操作数据库,包括建立连接、执行查询和更新等常见操作。接着,文章深入探讨了 Redis 的基本命令和高级功能,如键值存储、列表操作和事务处理。此外,还提供了多个实际案例,帮助读者更好地理解和应用这些技术。 ... [详细]
  • 如何在Django框架中实现对象关系映射(ORM)
    本文介绍了Django框架中对象关系映射(ORM)的实现方式,通过ORM,开发者可以通过定义模型类来间接操作数据库表,从而简化数据库操作流程,提高开发效率。 ... [详细]
  • 二维码的实现与应用
    本文介绍了二维码的基本概念、分类及其优缺点,并详细描述了如何使用Java编程语言结合第三方库(如ZXing和qrcode.jar)来实现二维码的生成与解析。 ... [详细]
  • JUnit下的测试和suite
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • MongoDB核心概念详解
    本文介绍了NoSQL数据库的概念及其应用场景,重点解析了MongoDB的基本特性、数据结构以及常用操作。MongoDB是一个高性能、高可用且易于扩展的文档数据库系统。 ... [详细]
  • Python 数据可视化实战指南
    本文详细介绍如何使用 Python 进行数据可视化,涵盖从环境搭建到具体实例的全过程。 ... [详细]
  • 在CentOS 7环境中安装配置Redis及使用Redis Desktop Manager连接时的注意事项与技巧
    在 CentOS 7 环境中安装和配置 Redis 时,需要注意一些关键步骤和最佳实践。本文详细介绍了从安装 Redis 到配置其基本参数的全过程,并提供了使用 Redis Desktop Manager 连接 Redis 服务器的技巧和注意事项。此外,还探讨了如何优化性能和确保数据安全,帮助用户在生产环境中高效地管理和使用 Redis。 ... [详细]
  • 开发心得:利用 Redis 构建分布式系统的轻量级协调机制
    开发心得:利用 Redis 构建分布式系统的轻量级协调机制 ... [详细]
  • 为何Serverless将成为未来十年的主导技术领域?
    为何Serverless将成为未来十年的主导技术领域? ... [详细]
  • Spring Boot与Redis的高效集成方案
    本文探讨了Spring Boot与Redis的高效集成方法,详细介绍了如何在Spring Boot项目中配置和使用Redis,以提升应用性能和数据处理能力。同时,文章还涉及了Go语言社区的相关资源,为Golang开发者提供了宝贵的技术交流平台。 ... [详细]
  • 本文将深入探讨MySQL与MongoDB在游戏账户服务中的应用特点及优劣。通过对比这两种数据库的性能、扩展性和数据一致性,结合实际案例,帮助开发者更好地选择适合游戏账户服务的数据库方案。同时,文章还将介绍如何利用Erlang语言进行高效的游戏服务器开发,提升系统的稳定性和并发处理能力。 ... [详细]
  • Redis:缓存与内存数据库详解
    本文介绍了数据库的基本分类,重点探讨了关系型与非关系型数据库的区别,并详细解析了Redis作为非关系型数据库的特点、工作模式、优点及持久化机制。 ... [详细]
  • 本文深入探讨了NoSQL数据库的四大主要类型:键值对存储、文档存储、列式存储和图数据库。NoSQL(Not Only SQL)是指一系列非关系型数据库系统,它们不依赖于固定模式的数据存储方式,能够灵活处理大规模、高并发的数据需求。键值对存储适用于简单的数据结构;文档存储支持复杂的数据对象;列式存储优化了大数据量的读写性能;而图数据库则擅长处理复杂的关系网络。每种类型的NoSQL数据库都有其独特的优势和应用场景,本文将详细分析它们的特点及应用实例。 ... [详细]
  • Oracle字符集详解:图表解析与中文乱码解决方案
    本文详细解析了 Oracle 数据库中的字符集机制,通过图表展示了不同字符集之间的转换过程,并针对中文乱码问题提供了有效的解决方案。文章深入探讨了字符集配置、数据迁移和兼容性问题,为数据库管理员和开发人员提供了实用的参考和指导。 ... [详细]
  • 在CentOS上部署和配置FreeSWITCH
    在CentOS系统上部署和配置FreeSWITCH的过程涉及多个步骤。本文详细介绍了从源代码安装FreeSWITCH的方法,包括必要的依赖项安装、编译和配置过程。此外,还提供了常见的配置选项和故障排除技巧,帮助用户顺利完成部署并确保系统的稳定运行。 ... [详细]
author-avatar
书友8649571
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有