一种针对图数据库及图服务接口进行分布式压测系统及方法技术方案

技术编号:25308329 阅读:30 留言:0更新日期:2020-08-18 22:27
本发明专利技术涉及互联网技术领域,具体涉及一种针对图数据库及图服务接口进行分布式压测系统及方法,提出的系统包括接入层模块、计算引擎模块、存储层模块、压测日志分析模块、前端展示模块、管理模块、分布式资源管理模块。提出的方法包括两个步骤。本发明专利技术,将多种压测方式集成一体,以满足小中大企业的大中小各种项目及数据库的压测需求,并且同时支持离线报表,在线报表,实时报表,历史报表的展示及查看,以及对比功能,支持预先数据源,通过分布式读取数据源的方式进行请求压测;支持在客户端提交可执行jar进行实时造数压测,除了支持图数据还支持其它主流数据库的压测,当设置参数目标为图数据库时,就会自动启动金融银行数据模型。

【技术实现步骤摘要】
一种针对图数据库及图服务接口进行分布式压测系统及方法
本专利技术涉及互联网
,更具体地说,它涉及一种针对图数据库及图服务接口进行分布式压测系统及方法。
技术介绍
压力测试其是一种通过外部行为触发对服务器部署的服务进行尽可能最大化的请求策略,旨在通过大量的数据请求以此达到并找到服务的瓶颈,以方便优化软件性能。在进行此压测性能测试时,通常需要通过服务器的CPU、内存、磁盘IO、磁盘容量、服务器的每秒查询率(QueryPerSecond,QPS)、网络IO、小到接口的并发数等数据得到服务器的压力测试结果。而分布式压测,就是利用多台物理服务器设备,对某一被压测端(数据库,服务接口)进行大批量的请求策略,与非分布式压测的区别是可以模拟真实的并发场景,以及提高压测负载,相对容易检测出被压测端(数据加,服务接口)的性能瓶颈。而本专利技术中,着重提出图数据库进行压测,是因为图在数据库的范畴内,相比传统的数据库是更复杂的,可以理解为是Nosql数据库中的一种,而之所以要针对图数据库进行性能测试及调优,主要决取于业务场景的复杂度,通过压测可以优化图数据库的图查询以及图数据插入的性能。了解到图数据库及图服务的压力测试的主要目标之后,通常采用以下几种方式进行压力测试。第一种,客户端提交压测任务,服务端将压测日志写入文件,等压测任务完成后,收集各个机器上的文件,然后读取文件、汇总及绘制报表;第二种,客户端提交压测任务,服务端将压测日志写入支持OLAP查询的数据库或系统,然后通过前端页面通过OLAP查询可以实现即席展示报表。第三种,客户端提交压测任务,服务端将压测日志写入到流式框架如strom,flink,sparkstreaming。然后前端页面,可以实时显示性能报表及性能波动图进行。但是目前所有的压测工具的实现,仅支持其中一种实现方式,而单一的实现功能在大数据量或小数据量的情况,所带来的计算成本是有很大差异的。而且同一个压测系统中不仅仅只为一个业务而进行,一家互联网企业会有不同的项目组,不同的项目组还会有多个不同的系统或数据库,而随着目前互联网的发展,海量数据不段输入,在硬件资源及成本的压力下,对数据库及服务接口的性能要求会日益增长。而针对图数据库或服务进行压测,主要的难点是要模拟实际场景的图关系有实体数据,以此要覆盖图的查询场景。因为图数据库的目标主要是为了解决图在查询过程中的响应速度,如K层展开,全路径查询,最短路径,社区发现,pagerank,图密度,最大联通图的查询。随意的压测数据,将会导致在性能调优时,只会偏向一种的性能查询优化,或如果压测数据过于复杂,这些图的查询将没有任何意义。此外,在客户端提交压测任务,通常大多数的压测请求都是单一数据源的压测请求,很难满足压测完数据后,还能用上数据进行查询。也就是目前还没有一款系统是专门针对数据库进行压测,更别提再针对图数据库的业务抽象场景下测试压测。综上上述所述,也就是说目前现有技术存在的技术问题为:<1>没有将多种压测方式集成一体,来满足不同企业及项目的需求,导致报表数据分析途径单一化且没有统一管理报表的历史归档文档及对比功能或工人干预比较多。<2>提交压测任务方式单一,数据源单一,针对不同的数据库,因为没有统一规范,需要根据不同的业务场景临时做大量的编程工作,导致人工成本很大。<3>技术不完善,没有针对数据库进行压测,需要独立编程起服务才能实施。<4>在针对图数据性能优化中,由于数据量小且维度单一,优化代表性较低,尤其是在金融银行业务场景中,由于没有获取实际的场景数据,在金融银行的图应用领域中,难以发挥出该图数据库的最大性能。因此,在长期的研发过程中,专利技术人对客户端压测报表问题进行了大量的研究,提出了一种集成多种压测方式与一体并加入分布式的方式以满足不同项目及业务需求的系统及方法,以解决上述技术和业务问题。
技术实现思路
针对现有技术存在的不足,本专利技术的目的在于提供一种针对图数据库及图服务接口进行分布式压测系统及方法,以解决上述
技术介绍
中提出的问题。为实现上述目的,本专利技术提供了如下技术方案:一种针对图数据库及图服务接口进行分布式压测系统,包括接入层模块、计算引擎模块、存储层模块、压测日志分析模块、前端展示模块、管理模块以及分布式资源管理模块;所述接入层模块用于为所述计算引擎模块提供发送数据源;所述计算引擎模块在接收到所述计接入层模块发送的数据源后,通过分布式的方式对接收到的数据进行处理,并在处理过程中采集系统日志或接口日志以及配置信息,并将采集的系统日志或接口日志以及配置信息写入所述存储层模块;在所述系统日志或接口日志以及配置信息存储完毕后,所述管理模块将会监控所述系统日志或接口日志以及配置信息存储任务的完成成功与否,如果完成成功,所述压测日志分析模块将会读取所述系统日志或接口日志以及配置信息进行压测统计分析,如果所述系统日志或接口日志以及配置信息存储任务是通过实时的方式,则会实时统计分析结果,并将其实时统计的分析结果展示至所述前端展示模块;所述分布式资源管理模块用于负责分布式压测集群资源分配及管理以协调各个项目侧之间的压测任务。进一步的,所述分布式压测集群资源包括CPU总核数、内存总量以及磁盘总量。进一步的,所述计算引擎模块包括控制中心模块、资源管理模块以及任务管理模块;所述控制中心模块为MetalControlCenter,所述资源管理模块为MetalResourceManager即MetalStrom的资源管理器,所述任务管理模块为MetalTaskManager即MetalStorm的任务管理器;所述MetalControlCenter用于接收并收集MetalResourceManager的心跳及日志信息、用于接收并收集MetalTaskManager的心跳及日志信息、用于处理客户端任务请求分配,读取主程序并将主程序提交至MetalTaskManager,再由MetalStorm执行主程序进行压测;所述MetalResourceManager用于负责给提交的任务的资源进行分配和回收、用于与控制中心通信,将资源分配情况发送给控制中心;所述MetalTaskManager用于负责任务的管理,包括执行和kill、用于与控制中心通信,将任务的执行情况发送给控制中心。进一步的,所述的针对图数据库及图服务接口进行分布式压测系统,还包括客户端、计算引擎端以及被压测端;所述客户端用于负责客户端展示、提交任务展示、报表展示以及可视配置;所述计算引擎端用于负责客户端提交任务,并审核该任务的可行性以及执行该任务;所述被压测端包括服务端接口和数据库。本专利技术还提出一种针对图数据库及图服务接口进行分布式压测方法,包括如下步骤:步骤一、操作客户端,操作客户端包括三种操作方式,分别如下:第一种、配置普通的http请求参数,此时又有两本文档来自技高网
...

【技术保护点】
1.一种针对图数据库及图服务接口进行分布式压测系统,其特征在于:包括接入层模块、计算引擎模块、存储层模块、压测日志分析模块、前端展示模块、管理模块以及分布式资源管理模块;/n所述接入层模块用于为所述计算引擎模块提供发送数据源;所述计算引擎模块在接收到所述计接入层模块发送的数据源后,通过分布式的方式对接收到的数据进行处理,并在处理过程中采集系统日志或接口日志以及配置信息,并将采集的系统日志或接口日志以及配置信息写入所述存储层模块;/n在所述系统日志或接口日志以及配置信息存储完毕后,所述管理模块将会监控所述系统日志或接口日志以及配置信息存储任务的完成成功与否,如果完成成功,所述压测日志分析模块将会读取所述系统日志或接口日志以及配置信息进行压测统计分析,如果所述系统日志或接口日志以及配置信息存储任务是通过实时的方式,则会实时统计分析结果,并将其实时统计的分析结果展示至所述前端展示模块;/n所述分布式资源管理模块用于负责分布式压测集群资源分配及管理以协调各个项目侧之间的压测任务。/n

【技术特征摘要】
1.一种针对图数据库及图服务接口进行分布式压测系统,其特征在于:包括接入层模块、计算引擎模块、存储层模块、压测日志分析模块、前端展示模块、管理模块以及分布式资源管理模块;
所述接入层模块用于为所述计算引擎模块提供发送数据源;所述计算引擎模块在接收到所述计接入层模块发送的数据源后,通过分布式的方式对接收到的数据进行处理,并在处理过程中采集系统日志或接口日志以及配置信息,并将采集的系统日志或接口日志以及配置信息写入所述存储层模块;
在所述系统日志或接口日志以及配置信息存储完毕后,所述管理模块将会监控所述系统日志或接口日志以及配置信息存储任务的完成成功与否,如果完成成功,所述压测日志分析模块将会读取所述系统日志或接口日志以及配置信息进行压测统计分析,如果所述系统日志或接口日志以及配置信息存储任务是通过实时的方式,则会实时统计分析结果,并将其实时统计的分析结果展示至所述前端展示模块;
所述分布式资源管理模块用于负责分布式压测集群资源分配及管理以协调各个项目侧之间的压测任务。


2.根据权利要求1所述的一种针对图数据库及图服务接口进行分布式压测系统,其特征在于:所述分布式压测集群资源包括CPU总核数、内存总量以及磁盘总量。


3.根据权利要求1所述的一种针对图数据库及图服务接口进行分布式压测系统,其特征在于:所述计算引擎模块包括控制中心模块、资源管理模块以及任务管理模块;
所述控制中心模块为MetalControlCenter,所述资源管理模块为MetalResourceManager即MetalStrom的资源管理器,所述任务管理模块为MetalTaskManager即MetalStorm的任务管理器;
所述MetalControlCenter用于接收并收集MetalResourceManager的心跳及日志信息、用于接收并收集MetalTaskManager的心跳及日志信息、用于处理客户端任务请求分配,读取主程序并将主程序提交至MetalTaskManager,再由MetalStorm执行主程序进行压测;
所述MetalResourceManager用于负责给提交的任务的资源进行分配和回收、用于与控制中心通信,将资源分配情况发送给控制中心;
所述MetalTaskManager用于负责任...

【专利技术属性】
技术研发人员:刘利民
申请(专利权)人:北京海致星图科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1