Neo4j+py2neo性能测试(CMDB二)

2024-05-07 15:18
文章标签 性能 测试 neo4j cmdb py2neo

本文主要是介绍Neo4j+py2neo性能测试(CMDB二),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

原创作品,允许转载,转载时请务必以超链接形式标明文章  原始出处 、作者信息和本声明。否则将追究法律责任。 http://leontam.blog.51cto.com/8150854/1344482
性能测试:
本地笔记本,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


测试代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
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  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  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()

这篇关于Neo4j+py2neo性能测试(CMDB二)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/967716

相关文章

C++,C#,Rust,Go,Java,Python,JavaScript的性能对比全面讲解

《C++,C#,Rust,Go,Java,Python,JavaScript的性能对比全面讲解》:本文主要介绍C++,C#,Rust,Go,Java,Python,JavaScript性能对比全面... 目录编程语言性能对比、核心优势与最佳使用场景性能对比表格C++C#RustGoJavapythonjav

CPython与PyPy解释器架构的性能测试结果对比

《CPython与PyPy解释器架构的性能测试结果对比》Python解释器的选择对应用程序性能有着决定性影响,CPython以其稳定性和丰富的生态系统著称;而PyPy作为基于JIT(即时编译)技术的替... 目录引言python解释器架构概述CPython架构解析PyPy架构解析架构对比可视化性能基准测试测

Java JAR 启动内存参数配置指南(从基础设置到性能优化)

《JavaJAR启动内存参数配置指南(从基础设置到性能优化)》在启动Java可执行JAR文件时,合理配置JVM内存参数是保障应用稳定性和性能的关键,本文将系统讲解如何通过命令行参数、环境变量等方式... 目录一、核心内存参数详解1.1 堆内存配置1.2 元空间配置(MetASPace)1.3 线程栈配置1.

Docker多阶段镜像构建与缓存利用性能优化实践指南

《Docker多阶段镜像构建与缓存利用性能优化实践指南》这篇文章将从原理层面深入解析Docker多阶段构建与缓存机制,结合实际项目示例,说明如何有效利用构建缓存,组织镜像层次,最大化提升构建速度并减少... 目录一、技术背景与应用场景二、核心原理深入分析三、关键 dockerfile 解读3.1 Docke

从原理到实战解析Java Stream 的并行流性能优化

《从原理到实战解析JavaStream的并行流性能优化》本文给大家介绍JavaStream的并行流性能优化:从原理到实战的全攻略,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的... 目录一、并行流的核心原理与适用场景二、性能优化的核心策略1. 合理设置并行度:打破默认阈值2. 避免装箱

深度剖析SpringBoot日志性能提升的原因与解决

《深度剖析SpringBoot日志性能提升的原因与解决》日志记录本该是辅助工具,却为何成了性能瓶颈,SpringBoot如何用代码彻底破解日志导致的高延迟问题,感兴趣的小伙伴可以跟随小编一起学习一下... 目录前言第一章:日志性能陷阱的底层原理1.1 日志级别的“双刃剑”效应1.2 同步日志的“吞吐量杀手”

Java慢查询排查与性能调优完整实战指南

《Java慢查询排查与性能调优完整实战指南》Java调优是一个广泛的话题,它涵盖了代码优化、内存管理、并发处理等多个方面,:本文主要介绍Java慢查询排查与性能调优的相关资料,文中通过代码介绍的非... 目录1. 事故全景:从告警到定位1.1 事故时间线1.2 关键指标异常1.3 排查工具链2. 深度剖析:

深入解析Java NIO在高并发场景下的性能优化实践指南

《深入解析JavaNIO在高并发场景下的性能优化实践指南》随着互联网业务不断演进,对高并发、低延时网络服务的需求日益增长,本文将深入解析JavaNIO在高并发场景下的性能优化方法,希望对大家有所帮助... 目录简介一、技术背景与应用场景二、核心原理深入分析2.1 Selector多路复用2.2 Buffer

基于Python Playwright进行前端性能测试的脚本实现

《基于PythonPlaywright进行前端性能测试的脚本实现》在当今Web应用开发中,性能优化是提升用户体验的关键因素之一,本文将介绍如何使用Playwright构建一个自动化性能测试工具,希望... 目录引言工具概述整体架构核心实现解析1. 浏览器初始化2. 性能数据收集3. 资源分析4. 关键性能指

Zabbix在MySQL性能监控方面的运用及最佳实践记录

《Zabbix在MySQL性能监控方面的运用及最佳实践记录》Zabbix通过自定义脚本和内置模板监控MySQL核心指标(连接、查询、资源、复制),支持自动发现多实例及告警通知,结合可视化仪表盘,可有效... 目录一、核心监控指标及配置1. 关键监控指标示例2. 配置方法二、自动发现与多实例管理1. 实践步骤