MongoDB性能测试与Python测试代码
2012-03-03 01:02
387 查看
最近参与公司一个项目,计划对在线平台的大规模查询做到快速响应,预估数据总量大概在2-3亿条,数据库并发量大概每秒1500,一年后并发大概3000每秒,经过在Redis和mongodb之间艰难的选择之后,决定使用mongodb,主要看中其平行扩展能力和GridFS上的Map/Reduce。预估项目完成上线后,高峰时段每秒并发查询在1500-3000之间。
其实我个人是比较喜欢Redis的,其并发查询能力和超越memcached的速度都很令人心动,不过其持久化和集群扩展性不太适合业务需要,所以最后还是选择了mongodb。
下面是对mongodb测试的代码和结果。虽然公司用的一水的CentOS,但是由于我是FreeBSD的支持者,所以在FreeBSD和CentOS上都测试了一下结果。
写库程序是网上抄来的,查询程序是自己写的。
写库程序
#!/usr/bin/env python
from pymongo import Connection
import time,datetime
connection = Connection('127.0.0.1', 27017)
db = connection['hawaii']
#时间记录器
def func_time(func):
def _wrapper(*args,**kwargs):
start = time.time()
func(*args,**kwargs)
print func.__name__,'run:',time.time()-start
return _wrapper
@func_time
def insert(num):
posts = db.userinfo
for x in range(num):
post = {"_id" : str(x),
"author": str(x)+"Mike",
"text": "My first blog post!",
"tags": ["mongodb", "python", "pymongo"],
"date": datetime.datetime.utcnow()}
其实我个人是比较喜欢Redis的,其并发查询能力和超越memcached的速度都很令人心动,不过其持久化和集群扩展性不太适合业务需要,所以最后还是选择了mongodb。
下面是对mongodb测试的代码和结果。虽然公司用的一水的CentOS,但是由于我是FreeBSD的支持者,所以在FreeBSD和CentOS上都测试了一下结果。
写库程序是网上抄来的,查询程序是自己写的。
写库程序
#!/usr/bin/env python
from pymongo import Connection
import time,datetime
connection = Connection('127.0.0.1', 27017)
db = connection['hawaii']
#时间记录器
def func_time(func):
def _wrapper(*args,**kwargs):
start = time.time()
func(*args,**kwargs)
print func.__name__,'run:',time.time()-start
return _wrapper
@func_time
def insert(num):
posts = db.userinfo
for x in range(num):
post = {"_id" : str(x),
"author": str(x)+"Mike",
"text": "My first blog post!",
"tags": ["mongodb", "python", "pymongo"],
"date": datetime.datetime.utcnow()}
相关文章推荐
- MongoDB性能测试与Python测试代码
- MongoDB性能测试与Python测试代码
- MongoDB 测试 Python 代码
- MongoDB性能测试代码
- Python实战(2)re编译代码性能测试
- Python Web 性能和压力测试 multi-mechanize
- 将不确定变为确定~老赵写的CodeTimer是代码性能测试的利器
- MongoDB,Redis,Tokyo Tyrant(Tokyo Cabinet)性能测试比较
- 关于MongoDB在64位服务器上依然报 mmap failed with out of memory 错误的解决方法(附Mysql性能对比测试)
- 基础才是重中之重~老赵写的CodeTimer是代码性能测试的利器
- MongoDB之Java测试代码(DAO层)
- python 代码测试 显示完成0个测试
- 在C/C++代码中使用SSE等指令集的指令(5)SSE进行加法运算简单的性能测试
- 使用console进行性能测试和计算代码运行时间
- python测试mysql写入性能完整实例
- Python代码测试 - unitest\doctest\nose
- Python 代码性能优化技巧
- 通过python调用adb命令对app进行性能测试(6 -1)
- 使用python脚本代码本地测试环境部署和启动 V0.1
- 使用console进行性能测试和计算代码运行时间