您的位置:首页 > 其它

Neo4j+py2neo性能测试(CMDB二)

2013-12-24 18:00 197 查看
性能测试:本地笔记本,CPU: i5, 内存: 8G, win7_x64, python 2.7, neo4j comunity 2.0.创建60000个CI, 耗时1分51秒, 平均1秒创建540个CI, 每个CI包含属性3-7个属性
In [11]: py2neo_initialzation.create_ci(10000)
10000X6CIs
Tue Dec 24 17:04:43 2013
Tue Dec 24 17:06:34 2013

创建50000个关联关系,耗时4分27秒,平均1秒创建187个relationship.
In [12]: py2neo_initialzation.create_relationship(10000)
Tue Dec 24 17:07:23 2013
Tue Dec 24 17:11:50 2013

测试代码:
from py2neo import node,rel
from py2neo import neo4j
import time
import datetime
g=neo4j.GraphDatabaseService('http://localhost:7474/db/data')
import cmdb.py2neo_function as neofunction
# data initialize
#storage
def create_ci(total_ci):
print '%dX6CIs' % total_ci

print time.ctime()
for i in range(total_ci):
storage_name='storage_%d' % i
small_server_name='aix_%d' % i
lpar_name='lpar_%d' % i
db_name='db_%d' % i
was_name='was_%d' % i
app_name='app_%d' % i
g.create(node(ci_class='storage',city='Shanghai',district='PuDong',name=storage_name,rack=1,capacity=300),
node(ci_class='small_server',city='Shanghai',district='PuDong',name=small_server_name,cpu_count=16,mem_GB=64),
node(ci_class='lpar',city='Shanghai',district='PuDong',name=lpar_name,cpu_count=1,mem_GB=2),
node(ci_class='db_instance',name=db_name,type='db2',version='9.1'),
node(ci_class='was_node',name=was_name,version='6.1'),
node(ci_class='application',name=app_name)
)

print time.ctime()

def create_relationship(total_ci):
#get the nodes
#get all storeage nodes
print 'get all storage nodes, count number about %d' % total_ci
print datetime.datetime.now()
storage_list=neofunction.SearchNodes(g,'ci_class','storage')
print datetime.datetime.now()

#get all small_server nodes
small_server_list=neofunction.SearchNodes(g,'ci_class','small_server')

g.create((small_server_list[0],'depend_on',storage_list[0]))

#get all lpar nodes
lpar_list=neofunction.SearchNodes(g,'ci_class','small_server')

#get all was nodes
was_list=neofunction.SearchNodes(g,'ci_class','was_node')

#get all db_instance nodes
dbi_list=neofunction.SearchNodes(g,'ci_class','db_instance')

#get all app nodes
app_list=neofunction.SearchNodes(g,'ci_class','application')

print time.ctime()
for i in range(total_ci):
g.create((lpar_list[i],'depend_on',small_server_list[i]))
g.create((dbi_list[i],'running_on',lpar_list[i]))
g.create((was_list[i],'running_on',lpar_list[i]))
g.create((app_list[i],'depend_on',dbi_list[i]))
g.create((app_list[i],'depend_on',was_list[i]))

print time.ctime()


本文出自 “运维螃蟹” 博客,请务必保留此出处http://leontam.blog.51cto.com/8150854/1344482
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: