[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

CN107360026A - 分布式消息中间件性能预测与建模方法 - Google Patents

分布式消息中间件性能预测与建模方法 Download PDF

Info

Publication number
CN107360026A
CN107360026A CN201710553030.9A CN201710553030A CN107360026A CN 107360026 A CN107360026 A CN 107360026A CN 201710553030 A CN201710553030 A CN 201710553030A CN 107360026 A CN107360026 A CN 107360026A
Authority
CN
China
Prior art keywords
feature
performance
value
middleware
message
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201710553030.9A
Other languages
English (en)
Other versions
CN107360026B (zh
Inventor
鲍亮
徐子恒
方宝印
王志泳
陈平
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hegang Digital Technology Co ltd
Original Assignee
Xidian University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xidian University filed Critical Xidian University
Priority to CN201710553030.9A priority Critical patent/CN107360026B/zh
Publication of CN107360026A publication Critical patent/CN107360026A/zh
Application granted granted Critical
Publication of CN107360026B publication Critical patent/CN107360026B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/562Brokering proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/02Standardisation; Integration
    • H04L41/0246Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/145Network analysis or design involving simulating, designing, planning or modelling of a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/147Network analysis or design for predicting network behaviour
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/566Grouping or aggregating service requests, e.g. for unified processing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开一种分布式消息中间件性能预测与建模方法,解决现有中间件预测没有考虑特征取值、无法基于特征对中间件性能有效预测的问题,具体步骤包括:特征筛选;正交实验设计;中间件性能测试;实验结果预处理;训练预测模型;预测模型验证。得到了准确的分布式消息中间件的性能预测模型,并实现了准确预测。本发明通过特征选择和取值,排除了一些对吞吐量无影响的特征和取值;通过吞吐量预测模型,得到了特征的取值与吞吐量大小的关系。本发明通过二次筛选特征和正交实验设计得到实验的样本集合,即降低了实验过程的复杂性也保证了实验结果的准确性和可靠性。用于分布式消息中间件的吞吐量性能预测领域。

Description

分布式消息中间件性能预测与建模方法
技术领域
本发明属于计算机技术领域,涉及海量数据处理,具体是一种分布式消息中间件性能预测与建模方法。本发明可以预测每个特征对性能的不同影响力,用在预测分布式消息中间件的吞吐量。
背景技术
分布式消息中间件凭借其解耦能力、可扩展性、灵活性、峰值处理能力、可恢复性和顺序送达等特点,已经成为海量数据接收、缓存和发送的重要工具,并在各个领域得到了广泛的支持和应用。特别是在互联网、大数据高速发展的时代,线上促销活动、秒杀活动不断,分布式消息中间件已成为应对海量数据的重要工具。目前流行的分布式消息中间件包括RabbitMQ、ActiveMQ、ZeroMQ,Kafka。然而,对各种消息中间件如何进行精细化性能建模与优化仍然是工业界和学术界的热点问题。
中国科学院软件研究所申请的专利“一种基于中间件的组件系统性能预测方法和系统”(申请号:200810223047.9申请日期:2008.09.26公开号:CN101373432B公开日:2012.05.09)公开了一种基于可嵌套模型的中间件性能预测方法,以模型转换分析为基础,通过嵌套分析的方法构建中间件完整性能模型,并最终生成预测结果。该方法通过采用性能分析与编排模块及中间件性能影响因素库,将原始模型转化为分层排队网模型,并构成该组件完整的性能模型,通过分析工具LQNS和模拟工具LQNSim进行求解,获得基于中间件的组件系统性能预测的数据。该方法的不足是,预测的准确性完全依赖于软件体系结构模型的构建,没有考虑分布式消息中间件具体特征对系统性能的影响。
中国移动通信集团浙江有限公司申请的专利“一种中间件性能的监控方法和设备”(申请号:200910249888.1申请日期:2009.11.30公开号:CN101719852B公开日:2012.11.07)公开了一种中间件性能的监控方法和设备。该方法包括:获取配置文件,根据所述配置文件的配置从外部数据库中获取SNMP操作任务列表;根据所述SNMP操作任务列表,获取中间件的性能参数数据;对采集到的性能参数数据进行合并处理并保存。与现有的使用命令行方式的中间件监控方式相比,采用了可配置的基于SNMP协议的分布式网络管理模型,与传统的网络管理模型相比,具有更好的灵活性和可扩展性,但是该方法无法对中间件性能进行基于特征的有效预测。
因此,对于分布式消息中间件性能预测研究领域,存在着对于中间件的性能指标的监控和预测技术,但是该技术基于可嵌套模型,通过嵌套分析的方法构建中间件的完整性能模型,其预测的准确性对于软件体系结构模型的依赖性很高,预测没有较好的灵活性,也只是对于系统性能的整体预测,缺少中间件各个特征对系统性能的具体影响,且缺少对分布式消息中间件的实际环境的完全模拟。
发明内容
本发明针对上述现有技术的不足,提出了一种准确性更高的分布式消息中间件性能预测与建模方法。
本发明是一种分布式消息中间件性能预测与建模方法,包括如下步骤:
(1)特征筛选:根据消息中间件的官方配置文档,得到所有可以进行配置的特征,筛选并删除对性能完全没有意义的特征;将经筛选留下的特征按照官方给出的重要性程度排序,再次删除对性能影响程度特别小,对性能预测没有意义,完全可以忽略的特征,得到样本特征;
(2)正交实验设计:为样本特征选取水平取值,每一个样本特征具有各自取值范围,根据选择出来的样本特征水平取值进行一对一组合,生成所有可能取值的实验样本集合,然后根据实验样本集合构建样本正交矩阵,根据正交矩阵挑选出的样本,作为最终实验样本特征集合;
(3)中间件性能测试:在服务器安装配置消息中间件系统,根据最终实验样本特征集合,确定中间件的消息生产者和消费者,通过吞吐量性能测试,获取每一组样本对应的消息中间件吞吐量数据;
(4)实验结果预处理:输入每一组样本数据,遍历最终实验样本集中所有的特征集合,对其中属于哑变量的特征进行离散化,将所有的变量进行归一化处理,产生能够进行模型训练的结构化数据;
(5)训练预测模型:输入归一化后的结构化数据,求解预测模型中的超参数,根据实验的数据和求解的超参数,根据预测模型代价公式,利用随机梯度下降的方法求解,生成分布式消息中间件吞吐量预测模型;
(6)预测模型验证:根据中间件吞吐量预测模型和测量出的吞吐量数据,获得模型的预测值与实际值的方差、标准差和误差比例,通过方差、标准差和误差比例验证该预测模型的准确性,根据预测值与实际值绘制性能预测结果与实验结果对比图。
本发明具有的优点:
1)本发明筛选出影响消息中间件性能的特征,然后通过正交实验设计,选择合适的特征组合,用于消息中间件的性能实验,填补了现有性能预测技术中没有单个中间件特征对消息中间件性能影响的不足。
2)本发明通过设计一种基于机器学习预测模型,将中间件的性能与特征之间建立联系,使得本方法能够基于特征预测出中间件的性能,解决了现有技术无法基于特征进行性能预测的缺陷。
3)本发明通过搭建分布式消息中间件的仿真环境来测量吞吐量,通过实时的环境测量出来的吞吐量更具有真实性,实验结果的更加贴近与实际,拥有更广泛的适用性。
4)本发明通过二次筛选特征和正交实验设计得到实验的样本集合,即降低了实验过程的复杂性也保证了实验结果的准确性和可靠性。
附图说明
图1是本发明的流程图;
图2是实验数据预处理的流程图;
图3是消息中间件性能预测结果与实验结果对比图。
具体实施方式
下面结合附图对本发明做详细描述。
实施例1
现有技术中存在着对于消息中间件性能的监控技术和对消息中间件整体模型的预测,预测基于可嵌套模型的中间件性能预测方法,以模型转换分析为基础,通过嵌套分析的方法构建中间件完整性能模型,并最终生成预测结果。但是其预测的准确性完全依赖于软件体系结构模型的构建,没有考虑分布式消息中间件具体特征对系统性能的影响;现有技术的预测模型都是基于消息中间件整体,无法基于特征进行性能预测,也没有单个的特征对消息中间件性能的影响,而且现有技术没有对消息中间件搭建分布式的环境,没有做到对真实环境下的完全模拟。
本发明提出一种分布式消息中间件性能预测与建模方法,参见图1,包括有如下步骤:
(1)特征筛选:根据消息中间件的官方配置文档,得到所有可以进行配置的特征,筛选并删除对性能完全没有意义的特征。将经筛选留下的特征按照官方给出的重要性程度排序,再次删除对性能影响程度特别小,对性能预测没有意义,完全可以忽略的特征,得到两次筛选后的特征。
(2)正交实验设计:为上述筛选后的特征选取水平取值,每一个特征具有各自取值范围,根据选择出来的中间件平台性能特征进行组合,生成所有可能取值的实验样本集合,然后根据实验样本集合构建样本正交矩阵,根据正交矩阵挑选出最具有代表性的样本,作为最终实验样本特征集。
(3)中间件性能测试:在服务器安装配置消息中间件系统,根据上述最终实验样本特征集合,确定中间件的消息生产者和消费者,通过吞吐量性能测试,获取每一组样本对应的消息中间件吞吐量数据。
(4)实验结果预处理:输入每一组样本数据,遍历最终实验样本集中所有的特征集合,对其中属于哑变量的特征进行离散化,将所有的变量进行归一化处理,产生能够进行模型训练的结构化数据。
(5)训练预测模型:输入归一化后的结构化数据,求解预测模型中的超参数,根据实验的数据和求解的超参数,根据预测模型代价公式,利用随机梯度下降的方法求解,生成分布式消息中间件吞吐量预测模型。
吞吐量预测模型为了尽量降低因为比较重要的自变量的缺失而导致模型出现一定的偏差,一般情况下要尽量去包含更多的自变量。建模过程中为了提高模型的预测精度,需要选择合适的自变量,自变量集合的选择就需要满足对因变量具有最强解释力。本吞吐量预测模型通过梯度下降算法进行训练,对其中的一些系数进行压缩,甚至将某些影响力特别小的系数约束为零,从而得到一个更加准确的模型,同时保留了子集可以进行收缩的优势,可以解决具有复共线性数据问题。
(6)预测模型验证:根据上述生成的中间件吞吐量预测模型和测量出的吞吐量数据,获得模型的预测值与实际值的方差、标准差和误差比例,通过方差、标准差和误差比例验证预测模型的准确性,根据预测值与实际值绘制性能预测结果与实验结果对比图。
本发明通过搭建分布式的消息中间件的实时数据接入平台,引用了机器学习,对分布式消息中间件的性能与特征之间的关系进行大量实验与分析,得出了消息中间件的性能预测模型,并对该预测模型进行验证。本发明包含了对分布式消息中间件性能的监控和预测,同样包含每个特征对系统性能的影响大小。
实施例2
分布式消息中间件性能预测与建模方法同实施例1,步骤2中的为特征集合中的特征选取水平取值的具体步骤如下:
第2.1步,若特征取值是线性的,则选取3个值作为实验值,选择中间件系统中的默认值作为第一个实验值,选择该特征取值范围的最小值作为第二个实验值,选择该特征取值范围的最大值作为第三个实验值。
第2.2步,若特征取值是离散的,则选取所有离散值作为实验值。
本发明筛选出的影响消息中间件性能的特征,通过正交实验设计,选择合适的特征组合,用于消息中间件的性能测试实验,填补了现有性能预测技术中没有单个中间件特征对消息中间件性能影响的不足,且特征的取值的选择比起现有的技术更为合理,考虑的更加全面。
实施例3
分布式消息中间件性能预测与建模方法同实施例1-2,步骤(2)中根据实验样本集合构建样本正交矩阵,其正交矩阵公式如下:
LN(SM)=[ai,j]N×M
其中L表示正交矩阵,N表示最终样本个数,即正交矩阵的行数,M表示特征个数,S表示特征取值的水平个数,[ai,j]N×M表示在第i个特征组合的样本中,第j个特征的水平取值为ai,j,并且ai,j∈{1,2,3,...,S},根据正交表的特性,试验次数(正交矩阵的行数)=Σ(每列水平数–1)+1,如下所示。
N表示样本的组合个数,即正交矩阵的行数,M表示特征个数,S表示特征取值的水平个数。
为了方便进行正交矩阵的求解,用SH替代N,其中H表示一个正整数,替代之后的结果如下所示。
公式进一步转换,去掉求和符号,那么转换之后的公式如下所示。
正交矩的每一列中,对于不同的特征取值,他们的呈现次数之和是完全相等的。例如三水平四元素的正交表中,随机取其中一列,都会包含1、2、3、4,且他们呈现的次数之和相等。任意两列中同一行内的两个特征取值是一对数组,并且该类数组出现的次数是相等的。本方法在选取最终实验样集的过程中,采用了基于正交矩阵的筛选策略,减少了最终实验样本集合的大小,降低了实验过程的复杂性,保证了实验结果的准确性和可靠性。
实施例4
分布式消息中间件性能预测与建模方法同实施例1-3,步骤(3)中的中间件性能测试具体包括有如下步骤:
3.1.在服务器上搭建分布式消息中间件的实验环境,然后在服务器上创建四台性能完全一样的虚拟机,其中两台虚拟机用来搭建消息中间件集群,另外两台用来搭建集群管理平台,通过上述四台服务器搭建实时数据处理平台。
3.2.确定分布式消息中间件的消息生产者和消费者,模拟中间件消息的发布和订阅的过程,测量实时环境下消息发布和订阅的吞吐量,将吞吐量作为中间件的性能数据。
通过搭建分布式消息中间件的仿真环境来测量吞吐量,使得实时的环境测量出来的吞吐量更具有真实性,实验结果的更加贴近与实际,拥有更广泛的适用性。
实施例5
分布式消息中间件性能预测与建模方法同实施例1-4,本发明步骤(5)中的模型代价公式如下:
b表示训练样本的个数,yi表示样本i的实验值,p表示特征总数,β0表示回归常数,βj表示特征j的权重,xij表示样本i中特征j的取值,λ表示超参数。
此公式代表了预测值与实际值之间的偏差值,通过梯度下降算法,选择出一组合适的参数,使得代价公式的取值最小,达到最优拟合效果。
实施例6
分布式消息中间件性能预测与建模方法同实施例1-5,步骤(5)中的中间件吞吐量模型公式如下:
Y表示系统性能,p表示特征总数,β0表示回归常数,βj表示特征j的权重;
消息中间件的性能预测的问题属于多元数据处理,因此预测模型中考虑到了各个特征的不同影响权重。本方法通过设计一种基于机器学习预测模型,将中间件的性能与特征之间建立联系,使得本方法能够基于特征,预测出中间件的性能,解决了现有技术无法基于特征进行性能预测的缺陷。因此通过给定特征的取值,模型能够预测出消息中间件系统的实际性能。
实施例7
分布式消息中间件性能预测与建模方法同实施例1-6,步骤(4)中的将哑变量的特征离散化具体步骤如下:
第4.1步,哑变量即为不能被预测模型直接处理的变量,需要先判断是否是哑变量,如果不是哑变量可以直接输入预测模型;如果是哑变量则需要下一步处理。
第4.2步,处理哑变量,将哑变量进行离散化,将其离散为多个特征,离散后的特征可以被预测模型直接处理。
通过哑变量的处理,可以解决样本特征的输入问题,且不遗漏任何的特征。
实施例8
分布式消息中间件性能预测与建模方法同实施例1-7,步骤(5)中的求解中间件吞吐量预测模型的超参数具体步骤如下:
第5.1步,构建一个含有100个元素的等比数列,等比数列取值范围在0至100,选择该等比数列作为超参数的候选取值列表。
第5.2步,遍历超参数的候选取值列表,进行机器学习,通过随机梯度下降算法,选出使模型拟合效果最好的超参数。
通过选择合适的超参数,能够使得模型的训练速度加快,拟合程度更高。
下面给出一个更加详尽的例子,对本发明进一步说明:
实施例9
分布式消息中间件性能预测与建模方法同实施例1-8,参照图1,本发明实现的具体步骤如下:
步骤1,特征筛选。
(1a)依据消息中间件系统的官方配置文档,得到所有可以进行配置的特征列表。以Kafka消息中间件系统为例,其部分消息特征列表如表1所示。
表1特征列表
特征列表中的信息包含名称、描述、类型、默认值、有效值和重要程度等。
(1b)查看所有特征的详细信息,剔除对性能完全没有影响的特征,例如数据的存储位置,监听的端口号等。
(1c)将每个特征按照重要性程度排序,将对性能影响程度特别小,对性能预测没有意义,完全可以忽略的特征进行删除。重要性程度指的是特征对消息中间件吞吐量的相关性影响。
步骤2,正交实验设计:
(2a)为特征集合中的特征选取水平取值。
第1步,若特征取值是线性的,则选取3个值作为实验值,一个是默认值,一个小于默认值,一个大于默认值。三个取值之间为等比关系。
第2步,若特征取值是离散的,则选取所有离散值作为实验值。
(2b)将所有特征的可能取值进行笛卡尔积,生成所有可能的实验样本集合。
(2c)构建样本正交矩阵,缩减实验样本集合的大小。正交矩阵公式如下:
LN(SM)=[ai,j]N×M
其中L表示正交矩阵,N表示最终样本个数,即正交矩阵的行数,M表示特征个数,S表示特征取值的水平个数,[ai,j]N×M表示在第i个特征组合的样本中,第j个特征的水平取值为ai,j,并且ai,j∈{1,2,3,...,S}
N表示样本的组合个数,即正交矩阵的行数,M表示特征个数,S表示特征取值的水平个数。
(2d)根据最终的样本特征集合,配置消息中间件系统,进行性能测试,收集测试结果。
步骤3,中间件性能测试
根据上述最终样本集合,配置消息中间件系统,确定中间件的消息生产者和消费者,通过吞吐量性能测试,获取每一组样本对应的消息中间件吞吐量数据。
步骤4,实验数据预处理
实验数据预处理的流程如图2所示
(4a)遍历特征集合,先判断是否是哑变量,如果不是哑变量可以直接输入预测模型;如果是哑变量则需要下一步处理,对属于哑变量的特征进行离散化处理,离散化成多个特征的组合,离散后的特征可以被预测模型直接处理。
(4b)对特征取值进行归一化处理,使每一个特征的取值满足(0,1)的正态分布。
步骤5,建立预测模型:
预测模型公式如下:
Y表示系统性能,p表示特征总数,β0表示回归常数,βj表示特征j的权重
模型的代价公式如下:
b表示训练样本的个数,yi表示样本i的实验值,p表示特征总数,β0表示回归常数,βj表示特征j的权重,xij表示样本i中特征j的取值,λ表示超参数。
(5a)求解预测模型的超参数
5a.1步,随机生成超参数的候选取值列表,
5a.2步,遍历超参数的候选取值列表,进行机器学习,通过随机梯度下降算法,选出效果最好的超参数。
(5b)输入实验样本数据,通过机器学习,训练预测模型,求解出β01...βp,使得cost最小。
步骤6,验证预测模型:
根据上述生成的预测模型和测量出的吞吐量数据,获得模型的预测值与实际值的方差、标准差和误差比例,通过方差、标准差和误差比例验证预测模型的准确性,根据预测值与实际值绘制性能预测结果与实验结果对比图。
本发明的效果可以通过以下仿真实验做进一步的描述。
实施例10
分布式消息中间件性能预测与建模方法同实施例1-8,
仿真条件
本发明的仿真选择一台性能较优的服务器,然后在服务器上创建4台性能完全一样的虚拟机,其中两台虚拟机用来搭建Kafka broker集群,另外两台用来搭建Zookeeper集群,通过四台服务器搭建实时数据处理平台。实验中服务器以及虚拟机的规格参数如表2,表3所示。
表2服务器参数规格
表3虚拟机参数规格
虚拟机数量 4
操作系统 CentOS 6.5
处理器核数 4
内存 8GB
硬盘 50GB
仿真内容
结合本发明的分布式消息中间件性能预测与建模方法,对Kafka这一消息中间件的吞吐量性能进行预测。
仿真结果分析.
图3为性能预测结果与实验结果对比图,通过对经正交实验设计得出的64组测试样本进行实验,其横坐标表示实验获得的吞吐量,纵坐标表示性能预测模型通过相同的特征集合获得的吞吐量,其实验吞吐量与预测吞吐量的点的散布情况呈线性关系,基本上验证了预测模型的有效性。
通过图3,可以发现消息中间件的吞吐量预测模型的预测值和实际值的拟合程度,图中的虚线表示的是吞吐量的预测模型,散点表示的是吞吐量的实际值,对于每一个不同样本特征取值的情况下,吞吐量的实际值较好的收敛于吞吐量预测模型。根据横纵坐标的取值可以看出,吞吐量的预测值和实际值的误差非常的小,可见本发明的预测模型得到的吞吐量与实验测得的吞吐量偏差非常小,说明本发明的性能预测模型较好地满足了对性能预测的准确性。
通过仿真实验准确的测量出消息中间件的吞吐量,有利于预测模型的预测准确性,使得实验结果拥有更好的拟合性。
综上所述,本发明公开的一种分布式消息中间件性能预测与建模方法,解决现有中间件预测没有考虑特征取值、无法基于特征对中间件性能进行有效预测的问题,且本发明通过二次筛选特征和正交实验设计得到实验的样本集合,即降低了实验过程的复杂性也保证了实验结果的准确性和可靠性。具体步骤包括:(1)特征筛选(2)正交实验设计(3)中间件性能测试(4)实验结果预处理(5)训练预测模型(6)预测模型验证。本发明的特征选择过程和取值及吞吐量预测模型为本实验的创新点,通过特征选择和取值,排除了一些对吞吐量无影响的特征和取值;通过吞吐量预测模型,得到了特征的取值与吞吐量大小的关系。本发明可以应用与分布式消息中间件的吞吐量性能预测领域,通过对中间件特征的筛选和取值设计实验,得到吞吐量数据,通过数据得出吞吐量预测模型并验证模型的准确性。

Claims (5)

1.一种分布式消息中间件性能预测与建模方法,其特征在于,包括有如下步骤:
(1)特征筛选:根据消息中间件的官方配置文档,得到所有可以进行配置的特征,筛选并删除对性能完全没有意义的特征;将经筛选留下的特征按照官方给出的重要性程度排序,再次删除对性能影响程度特别小,对性能预测没有意义,完全可以忽略的特征,得到样本特征;
(2)正交实验设计:为样本特征选取水平取值,每一个样本特征具有各自取值范围,根据选择出来的样本特征水平取值进行一对一组合,生成所有可能取值的实验样本集合,然后根据实验样本集合构建样本正交矩阵,根据正交矩阵挑选出的样本,作为最终实验样本特征集合;
(3)中间件性能测试:在服务器安装配置消息中间件系统,根据最终实验样本特征集合,确定中间件的消息生产者和消费者,通过吞吐量性能测试,获取每一组样本对应的消息中间件吞吐量数据;
(4)实验结果预处理:输入每一组样本数据,遍历最终实验样本集中所有的特征集合,对其中属于哑变量的特征进行离散化,将所有的变量进行归一化处理,产生能够进行模型训练的结构化数据;
(5)训练预测模型:输入归一化后的结构化数据,求解预测模型中的超参数,根据实验的数据和求解的超参数,根据预测模型代价公式,利用随机梯度下降的方法求解,生成分布式消息中间件吞吐量预测模型;
(6)预测模型验证:根据中间件吞吐量预测模型和测量出的吞吐量数据,获得模型的预测值与实际值的方差、标准差和误差比例,通过方差、标准差和误差比例验证该预测模型的准确性,根据预测值与实际值绘制性能预测结果与实验结果对比图。
2.根据权利要求1所述的一种分布式消息中间件性能预测与建模方法,其特征在于,步骤(2)中所述的为特征集合中的特征选取水平取值的具体步骤如下:
2.1.若特征取值是线性的,则选取3个值作为实验值,选择中间件系统中的默认值作为第一个实验值,选择该特征取值范围的最小值作为第二个实验值,选择该特征取值范围的最大值作为第三个实验值;
2.2.若特征取值是离散的,则选取所有离散值作为实验值。
3.根据权利要求1所述的一种分布式消息中间件性能预测与建模方法,其特征在于,步骤(3)中所述的中间件性能测试具体步骤如下:
3.1.在服务器上搭建分布式消息中间件的实验环境,然后在服务器上创建四台性能完全一样的虚拟机,其中两台虚拟机用来搭建消息中间件集群,另外两台用来搭建集群管理平台,通过上述四台服务器搭建实时数据处理平台;
3.2.确定分布式消息中间件的消息生产者和消费者,模拟中间件消息的发布和订阅的过程,测量实时环境下消息发布和订阅的吞吐量,将吞吐量作为中间件的性能数据。
4.根据权利要求1所述的一种分布式消息中间件性能预测与建模方法,其特征在于,步骤(5)中所述的求解中间件吞吐量预测模型的超参数具体步骤如下:
4.1.构建一个含有100个元素的等比数列,等比数列取值范围在0至100,选择该等比数列作为超参数的候选取值列表;
4.2.遍历超参数的候选取值列表,通过线性回归和随机梯度下降算法,选出效果最好的超参数。
5.根据权利要求1所述的一种分布式消息中间件性能预测与建模方法,其特征在于,步骤(5)中所述的中间件吞吐量预测模型公式如下:
<mrow> <mi>Y</mi> <mo>=</mo> <munderover> <mo>&amp;Sigma;</mo> <mrow> <mi>j</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>P</mi> </munderover> <mrow> <msub> <mi>&amp;beta;</mi> <mi>j</mi> </msub> <msub> <mi>X</mi> <mi>j</mi> </msub> </mrow> <mo>+</mo> <msub> <mi>&amp;beta;</mi> <mn>0</mn> </msub> </mrow>
Y表示系统性能,p表示特征总数,β0表示回归常数,βj表示特征j的权重。
CN201710553030.9A 2017-07-07 2017-07-07 分布式消息中间件性能预测与建模方法 Active CN107360026B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710553030.9A CN107360026B (zh) 2017-07-07 2017-07-07 分布式消息中间件性能预测与建模方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710553030.9A CN107360026B (zh) 2017-07-07 2017-07-07 分布式消息中间件性能预测与建模方法

Publications (2)

Publication Number Publication Date
CN107360026A true CN107360026A (zh) 2017-11-17
CN107360026B CN107360026B (zh) 2020-05-19

Family

ID=60292376

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710553030.9A Active CN107360026B (zh) 2017-07-07 2017-07-07 分布式消息中间件性能预测与建模方法

Country Status (1)

Country Link
CN (1) CN107360026B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108491226A (zh) * 2018-02-05 2018-09-04 西安电子科技大学 基于集群缩放的Spark配置参数自动调优方法
CN109213965A (zh) * 2018-08-02 2019-01-15 平安科技(深圳)有限公司 一种系统容量预测方法、计算机可读存储介质及终端设备
CN109388565A (zh) * 2018-09-27 2019-02-26 西安电子科技大学 基于生成式对抗网络的软件系统性能优化方法
CN109783337A (zh) * 2018-12-19 2019-05-21 北京达佳互联信息技术有限公司 模型服务方法、系统、装置和计算机可读存储介质
CN110086731A (zh) * 2019-04-25 2019-08-02 北京计算机技术及应用研究所 一种云架构下网络数据稳定采集方法
CN111381983A (zh) * 2020-03-06 2020-07-07 西安理工大学 虚拟试验靶场验证系统的轻量级消息中间件系统及方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101373432A (zh) * 2008-09-26 2009-02-25 中国科学院软件研究所 一种基于中间件的组件系统性能预测方法和系统
CN101719852A (zh) * 2009-11-30 2010-06-02 中国移动通信集团浙江有限公司 一种中间件性能的监控方法和设备
CN101916321A (zh) * 2010-09-07 2010-12-15 中国科学院软件研究所 一种Web应用细粒度性能建模方法及其系统
US20130226551A1 (en) * 2008-02-05 2013-08-29 International Business Machines Corporation Predicting system performance and capacity using software module performance statistics
CN106021079A (zh) * 2016-05-06 2016-10-12 华南理工大学 一种基于用户频繁访问序列模型的Web应用性能测试方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130226551A1 (en) * 2008-02-05 2013-08-29 International Business Machines Corporation Predicting system performance and capacity using software module performance statistics
CN101373432A (zh) * 2008-09-26 2009-02-25 中国科学院软件研究所 一种基于中间件的组件系统性能预测方法和系统
CN101719852A (zh) * 2009-11-30 2010-06-02 中国移动通信集团浙江有限公司 一种中间件性能的监控方法和设备
CN101916321A (zh) * 2010-09-07 2010-12-15 中国科学院软件研究所 一种Web应用细粒度性能建模方法及其系统
CN106021079A (zh) * 2016-05-06 2016-10-12 华南理工大学 一种基于用户频繁访问序列模型的Web应用性能测试方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
WATCHARIN LEUNGWATTANAKIT, CYRILLE ARTHO, MASAMI HAGIYA,ET AL.: "Modular Software Model Checking", 《IEEE TRANSACTIONS ON SOFTWARE ENGINEERING》 *
曲文丽: "基于JCF中间件的负载均衡算法研究", 《中国优秀硕士学位论文全文数据库 工程科技Ⅱ辑》 *
李国,曲文丽,田丰,王静: "基于JCF中间件的负载预测与过载迁移的融合算法", 《计算机应用研究》 *
黄翔,张文博,张波等: "基于方面模板的分布式组件系统性能预测方法", 《计算机科学》 *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108491226A (zh) * 2018-02-05 2018-09-04 西安电子科技大学 基于集群缩放的Spark配置参数自动调优方法
CN108491226B (zh) * 2018-02-05 2021-03-23 西安电子科技大学 基于集群缩放的Spark配置参数自动调优方法
CN109213965A (zh) * 2018-08-02 2019-01-15 平安科技(深圳)有限公司 一种系统容量预测方法、计算机可读存储介质及终端设备
CN109213965B (zh) * 2018-08-02 2022-04-29 平安科技(深圳)有限公司 一种系统容量预测方法、计算机可读存储介质及终端设备
CN109388565A (zh) * 2018-09-27 2019-02-26 西安电子科技大学 基于生成式对抗网络的软件系统性能优化方法
CN109388565B (zh) * 2018-09-27 2021-08-06 西安电子科技大学 基于生成式对抗网络的软件系统性能优化方法
CN109783337A (zh) * 2018-12-19 2019-05-21 北京达佳互联信息技术有限公司 模型服务方法、系统、装置和计算机可读存储介质
CN109783337B (zh) * 2018-12-19 2022-08-30 北京达佳互联信息技术有限公司 模型服务方法、系统、装置和计算机可读存储介质
CN110086731A (zh) * 2019-04-25 2019-08-02 北京计算机技术及应用研究所 一种云架构下网络数据稳定采集方法
CN111381983A (zh) * 2020-03-06 2020-07-07 西安理工大学 虚拟试验靶场验证系统的轻量级消息中间件系统及方法
CN111381983B (zh) * 2020-03-06 2022-09-20 西安理工大学 虚拟试验靶场验证系统的轻量级消息中间件系统及方法

Also Published As

Publication number Publication date
CN107360026B (zh) 2020-05-19

Similar Documents

Publication Publication Date Title
CN107360026A (zh) 分布式消息中间件性能预测与建模方法
CN103399496B (zh) 智能电网海量实时数据负载仿真测试云平台及其测试方法
CN105550323B (zh) 一种分布式数据库负载均衡预测方法和预测分析器
CN110210044A (zh) 风力发电机组的载荷预测方法和装置
WO2019011015A1 (zh) 一种进行业务调度的方法和装置
CN106708818A (zh) 一种压力测试方法和系统
CN109214719A (zh) 一种基于人工智能的营销稽查分析的系统和方法
CN102270302B (zh) 一种基于灰色支持向量机的多应力加速寿命试验预测方法
WO2012033909A2 (en) Method and system of simulating a data center
CN110703057A (zh) 基于数据增强和神经网络的电力设备局部放电诊断方法
CN106803799B (zh) 一种性能测试方法和装置
CN107358352A (zh) 基于蒙特卡洛模拟的电力系统可靠性评估系统及方法
CN110221975A (zh) 创建接口用例自动化测试脚本的方法及装置
CN110363427A (zh) 模型质量评估方法和装置
CN105848197A (zh) 一种网速测量方法、装置及系统
CN116450486B (zh) 多元异构计算系统内节点的建模方法、装置、设备及介质
CN109117352B (zh) 服务器性能预测方法和装置
CN101916321A (zh) 一种Web应用细粒度性能建模方法及其系统
CN114565038A (zh) 一种基于改进胶囊网络的智能电表故障诊断方法
Liu et al. Sniper: cloud-edge collaborative inference scheduling with neural network similarity modeling
CN114969209B (zh) 训练方法及装置、预测资源消耗量的方法及装置
CN117670031A (zh) 基于大数据的医疗器械生产环节风险预警方法及装置
CN114510405B (zh) 指标数据评估方法、装置、设备、存储介质及程序产品
Li et al. Construction of a Smart Supply Chain for Sand Factory Using the Edge‐Computing‐Based Deep Learning Algorithm
CN107391689A (zh) 基于大数据技术的风电出力异常数据重构方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20230607

Address after: Building 1, Science and Technology Innovation Service Center, No. 856 Zhongshan East Road, High tech Zone, Shijiazhuang City, Hebei Province, 050035

Patentee after: Hegang Digital Technology Co.,Ltd.

Address before: 710071 Taibai South Road, Yanta District, Xi'an, Shaanxi Province, No. 2

Patentee before: XIDIAN University