CN114356440B - 系统优化方法及装置 - Google Patents

系统优化方法及装置 Download PDF

Info

Publication number
CN114356440B
CN114356440B CN202111572074.9A CN202111572074A CN114356440B CN 114356440 B CN114356440 B CN 114356440B CN 202111572074 A CN202111572074 A CN 202111572074A CN 114356440 B CN114356440 B CN 114356440B
Authority
CN
China
Prior art keywords
plug
nth
optimized
preset
detection result
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.)
Active
Application number
CN202111572074.9A
Other languages
English (en)
Other versions
CN114356440A (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.)
Xi'an Clover Cyber Technology Co ltd
Original Assignee
Xi'an Clover Cyber Technology Co ltd
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 Xi'an Clover Cyber Technology Co ltd filed Critical Xi'an Clover Cyber Technology Co ltd
Priority to CN202111572074.9A priority Critical patent/CN114356440B/zh
Publication of CN114356440A publication Critical patent/CN114356440A/zh
Application granted granted Critical
Publication of CN114356440B publication Critical patent/CN114356440B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • G06F9/44526Plug-ins; Add-ons

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本公开提供一种系统性能优化方法及装置,涉及电子信息技术领域,能够解决OpenStack系统在优化时的效率低的问题。具体技术方案为:通过加载OpenStack系统中的目标插件,并逐项对目标插件进行检测并优化,实现OpenStack系统的优化。本公开用于OpenStack系统的优化处理。

Description

系统优化方法及装置
技术领域
本公开涉及电子信息技术领域,尤其涉及系统优化方法及装置。
背景技术
随着云计算的普及,OpenStack云计算平台的应用也越来越广泛。与之相关的性能问题,也就越来越受到关注,现有技术中在对OpenStack云计算平台的优化处理时,通过某一项单独的优化,无法实现系统整体性能优化的效果。
发明内容
本公开实施例提供一种系统优化方法及装置,能够解决在OpenStack云计算平台中优化效率低的问题。所述技术方案如下:
根据本公开实施例的第一方面,提供一种系统优化方法,该方法包括:
加载OpenStack系统中的目标插件,该目标插件包括:镜像缓存插件、镜像转换插件、CPU管理插件、算法插件、依赖项插件、文件句柄插件、调用命令插件、网络接入插件,该目标插件的数量为M,该目标插件是指与OpenStack系统优化处理相匹配的插件;
根据预设检测规则,激活检测接口,检测该目标插件中第N个插件,并获取检测结果,该N大于等于1小于等于M,预设检测规则至少根据OpenStack系统中从系统层至应用层中各个层级配合的优化逻辑生成;所述预设检测规则包括:
当所述第N个插件为镜像缓存插件时,解析所述镜像缓存插件,检查所述系统中是否已存储主动缓冲程序;
当所述第N个插件为镜像转换插件时,解析所述镜像缓存插件,获取计算节点的配置文件;检测所述配置文件中的转换参数是否为真;
当所述第N个插件为CPU管理插件时,解析所述CPU管理插件,获取所述系统的CPU频率模式,并检测所述CPU频率模式;
当所述第N个插件为算法插件时,解析所述算法插件的配置文件,获取密码轮数值;根据所述密码轮数值和密码哈希函数,获取实际密码测算时间;比较所述实际密码测算时间与预设测算时间的大小;
当所述第N个插件为依赖项插件时,解析所述依赖项插件,获取所述系统中依赖项的版本信息;判断所述依赖项的版本信息是否符合预设参数;
当所述第N个插件为文件句柄插件时,根据预设检测程序,读取当前系统文件中设置的句柄数量,判断所述句柄数量是否设置与预设经验值相匹配;
当所述第N个插件为调用命令插件时,根据预设检测程序,单独运行OpenStack的外部命令调用模块,并执行外部命令,获取执行命令的运行时间;判断所述执行命令的运行时间是否超过预设运行时间;
当所述第N个插件为网络接入插件时,根据预设检测程序,检测neutron配置文件中的超时时间是否超过预设值,所述超时时间是指方法处理超时异常的时间;
当检测结果指示该第N个插件需要优化时,根据该目标插件相匹配的优化处理规则,优化该目标插件,并检测第N+1个插件,直至所有M个插件均完成优化处理,以使得OpenStack系统优化。
在一个实施例中,该方法中当该第N个插件为镜像缓存插件时,该方法还包括:
当检测到系统中已存储主动缓冲程序时,确定目标插件无需优化,并检测第N+1个插件;
当未在系统中检测到存储主动缓冲程序时,则确定检测结果为该第N个插件需要优化;
当检测结果指示该第N个插件需要优化时,获取主动缓冲程序的文件地址;
根据该文件地址,获取主动缓冲程序,并在目标存储地址存储该程序,完成第N个插件的优化处理。
在一个实施例中,该方法中当该第N个插件为镜像转换插件时,该方法还包括:
当该转换参数为假,确定目标插件无需优化,并检测第N+1个插件;
当该转换参数为真,则确定检测结果为该第N个插件需要优化;
当检测结果指示该第N个插件需要优化时,设置转换参数为假,完成第N个插件的优化处理。
在一个实施例中,该方法中当该第N个插件为CPU管理插件时,该方法还包括:
当该CPU频率模式不是节能模式时,确定第N个插件无需优化,并检测第N+1个插件;
当该CPU频率模式是节能模式时,则确定检测结果为该第N个插件需要优化;
当检测结果指示该第N个插件需要优化时,根据该系统所支持的模式,设置该CPU的频率模式,完成第N个插件的优化处理。
在一个实施例中,该方法中当该第N个插件为算法插件时,该方法还包括:
当该实际密码测算时间小于预设测算时间时,确定该第N个插件无需优化,并检测第N+1个插件;
当该实际密码测算时间大于或者等于预设测算时间时,则确定检测结果为该第N个插件需要优化;
当检测结果指示该第N个插件需要优化时,根据密码哈希函数和测算规则,测算目标密码轮数值,并根据该目标密码轮数值,修改配置文件中的密码轮数值。
在一个实施例中,该方法中当该第N个插件为依赖项插件时,该方法还包括:
若该依赖项的版本信息符合预设参数,则确定第N个插件无需优化,并检测第N+1个插件;
当该依赖项的版本信息不符合预设参数,则确定检测结果为该第N个插件需要优化;
当检测结果指示该第N个插件需要优化时,则根据预设升级规则,升级依赖项的版本信息,完成第N个插件的优化处理。
在一个实施例中,该方法中当该第N个插件为文件句柄插件时,该方法还包括:
若句柄数量与预设经验值相匹配,则确定目标插件无需优化,并检测第N+1个插件;
当该依赖项的参数信息不符合预设参数,则确定检测结果为该第N个插件需要优化;
当检测结果指示该第N个插件需要优化时,则设置依赖项的参数信息,完成第N个插件的优化处理。
在一个实施例中,该方法中当该第N个插件为调用命令插件时,该方法还包括:
当执行命令的运行时间未超过预设运行时间,则确定该第N个插件无需优化,并检测第N+1个插件;
当执行命令的运行时间超过预设运行时间,则确定检测结果为该第N个插件需要优化;
当检测结果指示该第N个插件需要优化时,则外部命令调用模块增加补丁程序,以使得进程内文件句柄数量为预设经验值,完成该插件的优化。
在一个实施例中,该方法中当该第N个插件为网络接入插件时,该方法还包括:
若检测neutron配置文件中的超时时间未超过预设值,则确定目标插件无需优化,并检测第N+1个插件;
若检测neutron配置文件中的超时时间超过预设值,则确定检测结果为该第N个插件需要优化;
当检测结果指示该第N个插件需要优化时,则修改超时时间参数为预设值,完成该插件的优化。
本方法通过加载OpenStack系统中的目标插件,并逐项对目标插件进行检测并优化,实现OpenStack系统的优化。
根据本公开实施例的第二方面,提供一种计算机可读存储介质,该存储介质中存储有至少一条计算机指令,该指令由处理器加载并执行以实现本公开实施例第一方面所提及的方法。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1是本公开实施例提供的一种系统优化方法的流程图;
图2是本公开实施例提供的一种系统优化方法的逻辑结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
本公开实施例提供一种数据传输方法,如图1所示,该方法包括:
101、加载OpenStack系统中的目标插件。
本公开所述方法中的目标插件是基于实践中的系统优化处理过程,在多个插件中确定的插件,该目标插件与OpenStack系统的优化相匹配,通过逐层优化完毕目标插件能够实现系统的整体优化。
该目标插件包括:镜像缓存插件、镜像转换插件、CPU管理插件、认证插件、依赖项插件、文件句柄插件、调用命令插件、网络接入插件,该目标插件的数量为M。
本公开所提及的方法可以是基于Python语言(但不限于Python语言)的动态加载特性,动态加载各个优化点插件的可执行文件,并执行插件各个功能部分的函数。
102、根据预设检测规则,激活检测接口,检测该目标插件中第N个插件,并获取检测结果,该N大于等于1小于等于M。
具体的,预设检测规则至少可以根据所述OpenStack系统中从系统层至应用层中各个层级配合的优化逻辑生成。
本公开所提供的方法会根据不同插件的种类,从系统层至应用层中各个层级依次进行检测,从而能够完成系统的优化。
如图2所示的逻辑示意图,此处阐述本公开所公开方法中的数据处理过程包括以下步骤:
步骤一:激活系统,获取目标插件。
步骤二、根据优化规则,依次检测每个目标插件。
步骤三、当确定检测第N个插件时,确定插件相匹配的存储位置,读取各个插件的可执行文件到内存中,解析为可执行对象。
步骤四、根据目标插件的可执行对象,确定该目标插件相匹配的检测接口,并通过该检测接口和该目标插件相匹配的测试规则,检测该目标插件是否需要优化。
步骤五、当确定该目标插件需要优化时,通过优化规则对该目标插件进行优化;
当确定该目标插件不需要优化时,则继续检测第N+1个目标插件,直至所有的目标插件完成检测。
103、当检测结果指示该第N个插件需要优化时,根据该目标插件相匹配的优化处理规则,优化该目标插件,并检测第N+1个插件,直至所有M个插件均完成优化处理,以使得OpenStack系统优化。
本公开所提供的方法中从系统到应用、到HTTP请求等各个方面的优化点,通过系统的整体的检测与优化处理,能有效优化OpenStack整体性能。
本公开所提供的方法中,当该第N个插件为镜像缓存插件时,该检测、优化步骤包括:
解析该镜像缓存插件,检查该系统中是否已存储主动缓冲程序;
当检测到系统中已存储主动缓冲程序时,确定目标插件无需优化,并检测第N+1个插件;
当未在系统中检测到存储主动缓冲程序时,则确定检测结果为该第N个插件需要优化;
当检测结果指示该第N个插件需要优化时,获取主动缓冲程序的文件地址;
根据该文件地址,获取主动缓冲程序,并在目标存储地址存储该程序,完成第N个插件的优化处理。
本公开所提供的方法中,当该第N个插件为镜像转换插件时,该检测、优化步骤包括:
解析该镜像缓存插件,获取计算节点的配置文件;
检测该配置文件中的转换参数是否为真;
当该转换参数为假,确定目标插件无需优化,并检测第N+1个插件;
当该转换参数为真,则确定检测结果为该第N个插件需要优化;
当检测结果指示该第N个插件需要优化时,设置转换参数为假,完成第N个插件的优化处理。
本公开所提供的方法中,当该第N个插件为CPU管理插件时,该检测、优化步骤包括:
解析该CPU管理插件,获取该系统的CPU频率模式,并检测该CPU频率模式;
当该CPU频率模式为节能模式时,确定该第N个插件无需优化,并检测第N+1个插件;
当该CPU频率模式不是节能模式时,则确定检测结果为该第N个插件需要优化;
当检测结果指示该第N个插件需要优化时,根据该系统所支持的模式,设置该CPU的频率模式,完成第N个插件的优化处理。
本公开所提供的方法中,当该第N个插件为算法插件时,该检测、优化步骤包括:
解析该算法插件的配置文件,获取密码轮数值;
根据该密码轮数值和密码哈希函数,获取实际密码测算时间;
当该实际密码测算时间小于预设测算时间时,确定该第N个插件无需优化,并检测第N+1个插件;
当该实际密码测算时间大于或者等于预设测算时间时,则确定检测结果为该第N个插件需要优化;
当检测结果指示该第N个插件需要优化时,根据密码哈希函数和测算规则,测算目标密码轮数值,并根据该目标密码论数值,修改配置文件中的密码轮数值。
本公开所提供的方法中,当该第N个插件为依赖项插件时,该检测、优化步骤还包括:
解析该依赖项插件,获取该系统中依赖项的版本信息;
若该依赖项的版本信息符合版本参数,则确定第N个插件无需优化,并检测第N+1个插件;
当该依赖项的版本信息不符合版本参数,则确定检测结果为该第N个插件需要优化;
当检测结果指示该第N个插件需要优化时,则根据预设升级规则,升级依赖项的版本,完成第N个插件的优化处理。
本公开所提供的方法中,当该第N个插件为文件句柄插件时,该检测、优化步骤包括:
根据预设检测程序,读取当前系统文件中设置的句柄数量,判断该句柄数量是否设置与预设经验值相匹配;
若句柄数量与预设经验值相匹配,则确定目标插件无需优化,并检测第N+1个插件;
当该依赖项的参数信息不符合预设参数,则确定检测结果为该第N个插件需要优化;
当检测结果指示该第N个插件需要优化时,则设置依赖项的参数信息,完成第N个插件的优化处理。
本公开所提供的方法中,当该第N个插件为调用命令插件时,该检测、优化步骤还包括:
根据预设检测程序,单独运行OpenStack的外部命令调用模块,并执行外部命令,获取执行命令的运行时间;
当执行命令的运行时间未超过预设运行时间,则确定该第N个插件无需优化,并检测第N+1个插件;
当执行命令的运行时间超过预设运行时间,则确定检测结果为该第N个插件需要优化;
当检测结果指示该第N个插件需要优化时,则外部命令调用模块增加补丁程序,以使得进程内文件句柄数量为预设经验值,完成该插件的优化。
本公开所提供的方法中,当该第N个插件为网络接入插件时,该检测、优化步骤还包括:
根据预设检测程序,检测neutron配置文件中的超时时间是否超过预设值,该超时时间是指方法处理超时异常的时间;
若检测neutron配置文件中的超时时间未超过预设值,则确定目标插件无需优化,并检测第N+1个插件;
若检测neutron配置文件中的超时时间超过预设值,则确定检测结果为该第N个插件需要优化;
当检测结果指示该第N个插件需要优化时,则修改超时时间参数为预设值,完成该插件的优化。
此处针对于本公开所提及的系统,现根据不同插件,具体阐述如何进行优化处理:
示例一:计算节点的镜像缓存优化
本公开通过添加主动缓冲程序,节省实例启动时的镜像下载时间。其逻辑流程如下:
步骤一:检测处理:检查操作系统中是否已经存在该主动缓冲程序,
如不存在,返回真;否则返回假。
步骤二:当确定系统存在主动缓冲程序时,则继续优化下一个插件;
当确定系统未存在主动缓冲程序时,则系统返回主动缓冲程序的文件地址。
此地址可以由预设程序编码指定,也可以由用户进行确认。
步骤三:将主动缓冲程序,复制文件到指定位置,并添加到系统服务或周期执行工具,如crontab程序,命令上述程序以周期性执行此程序。
具体的,周期可以是每天或者每周。其中主动缓冲程序步骤如下:
本公开在对缓存优化处理中,通过添加主动缓冲子程序节省镜像下载时间,从而优化了系统。
示例二:计算节点的镜像转换优化。
本公开通过允许各种类型的镜像做后端,不使用转换,节省了转化时间,提高效率,其逻辑流程如下:
步骤一:根据预设检测程序,检测计算节点的配置文件里镜像转换参数值是否为预设值,如检测配置文件里的force_raw_images,是否设置为true。
步骤二:镜像转换参数值是预设值时,则继续优化下一个插件;
当镜像转换参数值不是预设值时,返回值为真,修改镜像转换参数值,完成该插件的优化处理。
如:将计算节点的配置文件里force_raw_images设置为false。
本公开在对节点的镜像转换优化处理中,通过允许各种类型的镜像做后端,兼容不同格式的镜像,避免了系统在使用镜像时的类型转换,节省了转化时间,提高效率,从而优化了系统。
示例三、CPU管理优化。
本公开通过运行计算密集型算法,检查CPU计算速度。通过调整CPU频率设置,提高计算速度。其逻辑流程如下:
步骤一:根据预设检测程序,获取当前系统的CPU频率模式设置,判断其是否是节能模式。
步骤二:当确定CPU频率模式设置不是节能模式时,则继续优化下一个插件;
当确定CPU频率模式设置是节能模式时,获取当前系统支持的频率模式。
步骤三:根据系统支持的频率模式,修改当前系统的CPU频率模式为上述模式,优先选择ondemand模式,其次是performance模式,并返回模式名称。
上述的ondemand模式,是指的是平时以低速方式运行,当系统负载提高时候自动提高频率。以这种模式运行不会因为降频造成性能降低,同时也能节约电能和降低温度。
上述的performance模式,是指满速运行,即使系统负载非常低cpu的频率也为最高。则性能很好,但是电量消耗较快,温度也高一些。
上述的userspace模式,是应该是指用户指定居中的频率运行。
本公开在对算法效率优化处理中,通过运行认证密码效率检测子程序,通过调整密码轮数,平衡CPU消耗与安全性,同时通过使用网格法测试出系统所能支持的最佳运算速度,从而优化了系统。
示例四、认证算法效率优化。
本公开通过调整认证算法中的密码轮数,平衡CPU消耗与安全性。其逻辑流程如下:
步骤一、根据预设检测程序,从keystone配置文件获取密码轮数参数。根据该参数,运行keystone密码哈希函数,并测算实际运行时间。
步骤二、判断实际运行时间是否大于预设运行时间;
若实际运行时间大于预设时间,则返回真;
若实际运行时间小于等于预设时间,则返回假,继续优化下一个插件;
如,耗时大于经验值0.05s,则返回真。
步骤三:当确定返回值为真时,根据预设计算规则,重新计算运行实际,直至时间运行实际小于预设运行实际,获取此时的轮数值。
此处列举具体示例:从20到4逆序,作为轮数,传入keystone密码哈希函数,计算时间。如果时间低于0.05s,中断循环,并返回此轮数值。如未找到,选择4。返回此轮数。
步骤四、根据该轮数值设置系统的认证算法中的密码轮数,完成该插件的优化。
即,将keystone配置文件里密码轮数参数设置为上述轮数值。通过修改为相同密码的方式,更新已有密码为新的轮数。
本公开在CPU管理优化处理中,通过运行计算密集型算法,检查CPU计算速度。通过调整CPU频率设置,提高计算速度,从而优化了系统。
示例五、检测与更新低效率依赖项。
本公开运行各个可能低效依赖项的速度检测程序,检测低效依赖项,更新到高效版本。其逻辑流程如下:
步骤一、根据预设检测程序,对系统运行时各个需要更新的依赖中检测版本信息。
例如,在Python系统中检测依赖中setuptools的版本号是否小于44.1.1,pip是否小于20.3.4。
步骤二、若该版本号符合预设要求,则继续优化下一个插件。
若该版本号不符合预设要求,则修改依赖版本信息,从而完成该插件的优化。
例如,对各个需要更新的依赖中,进行更新。更新setuptools大于等于第一阈值,pip大于等于第二阈值。
上述优化的依赖项是根据实践部署中的测试确定的。
本公开在检测与更新低效率依赖项的处理中,通过运行各个可能低效依赖项的速度检测程序,检测低效依赖项,更新到高效版本,从而优化了系统。
示例六、系统文件句柄数量优化。
本公开通过修改系统的文件句柄数量,以达到大量请求优化的目的。其逻辑流程如下:
步骤一、根据预设检测程序,读取当前系统文件中设置的句柄数量,判断是否设置的句柄数量与预设经验值相匹配:
例如,判断系统中的fs.file-max、soft nofile、hard nofile、mysql hardnofile中的句柄数量。
步骤二、若设置的句柄数量与预设经验值相匹配,则继续优化下一个插件。
若未设置的句柄数量,则程序编码中读取预设经验值。
步骤三、根据预设经验值,修改当前系统文件句柄数量,完成该插件的优化处理。
本公开在文件句柄数量优化处理的过程中,通过运行句柄数量检测子程序,网格法寻找更高效的文件句柄上限。既能运行更大的文件句柄数量,又能兼顾性能,从而优化了系统。
示例七、OpenStack调用系统命令效率优化。
本公开通过运行OpenStack命令调用程序效率检测子程序,给低效率的命令执行模块打补丁。其逻辑流程如下:
步骤一、根据预设检测程序,单独运行OpenStack的外部命令调用模块执行外部命令ls,记录其实际运行时间。
判断该实际运行时间是否超过预设运行时间,如,实际运行时间大于预设运行时间。则返回真。
其中,外部命令调用模块包括nova-rootwrap、privsep-helper、neutron-rootwrap等;
步骤二、若运行实际运行时间未超过预设运行时间,则检测下一个插件。
若运行实际运行时间超过预设运行时间,则为外部命令调用模块增加补丁程序,设置进程内文件句柄数量为预设经验值,并在头部文件中增加该补丁程序。
如,在文件头部增加:
import resource;
resource.setrlimit(resource.RLIMIT_NOFILE,(X,Y));
其中,X和Y的值可以根据具体调试结果配置。
本公开在OpenStack调用系统命令效率优化过程中,通过运行OpenStack命令调用程序效率检测子程序,给低效率的命令执行模块打补丁改代码,从而优化了系统。
示例八
本公开通过调整网络接入参数,优化neutron网络接入效率。其逻辑流程如下:
步骤一、根据预设检测程序,检测neutron配置文件的超时时间参数是否超过预设值。
具体的,如,检测vif_plugging_timeout是否是大于0。处理超时异常vi f_plugging_is_fatal是否是真。
在nova-compute配置文件中有两个与该事件相关的参数-vif_plugging_timeout、vif_plugging_if_fatal,前者是等待事件的最大时间,后者是处理超时异常的方式。
步骤二、若检测neutron配置文件超时时间参数未超过预设值,则检测下一个插件。
若检测neutron配置文件超时时间参数超过预设值,则修改配置文件,完成该插件的优化。
具体的,修改neutron配置文件超时时间参数vif_plugging_timeout等于0。
处理超时异常时,该vif_plugging_is_fatal为false。
本公开在网络接入效率优化过程中,通过运行网络接入效率检测子程序,计算出与系统性能相匹配的执行命令时间,设置参数并调整设置参数;最后通过在系统运行补丁代码,提高了网络接入时间的降低,实现了从而优化了系统。
本公开所提供的系统通过多个插件的检测与优化处理,从系统到请求的全链路各项优化点互相促进,例如,本公开对OpenStack的外部命令调用模块效率优化,并基于子程序运行效率计算的,对OpenStack整体进行自动检测并优化,能够大幅提高系统运行的效率。
在实际部署过程中,经过实验测试,采取本公开优化过的虚拟机系统相较于未优化处理的系统至少包括以下优化项:系统启动速度提升10倍左右,请求速度提升5倍左右。虚拟机启动时间,在最初的30-90s,平局65s,提升到了0.3-10s,平均7s左右;系统响应请求的速度,从1.2-2s左右,平均1.9s,提升到了平均0.3s左右。
本公开示例提供的数据传输系统,通过加载OpenStack系统中的目标插件,并逐项对目标插件进行检测并优化,实现OpenStack系统的优化。
基于上述图1及图2对应的示例中所描述的系统优化方法,本公开示例还提供一种计算机可读存储介质,例如,非临时性计算机可读存储介质可以是只读存储器(英文:ReadOnly Memory,ROM)、随机存取存储器(英文:Random Access Memory,RAM)、CD-ROM、磁带、软盘和光数据存储装置等。该存储介质上存储有计算机指令,用于执行上述图1及图2对应的示例中所描述的系统优化方法,此处不再赘述。
本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和示例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。

Claims (10)

1.一种系统性能优化方法,其特征在于,应用于OpenStack系统,所述方法包括:
加载OpenStack系统中的目标插件,所述目标插件包括:镜像缓存插件、镜像转换插件、CPU管理插件、算法插件、依赖项插件、文件句柄插件、调用命令插件、网络接入插件,所述目标插件的数量为M,所述目标插件是指与OpenStack系统优化处理相匹配的插件;
根据预设检测规则,激活检测接口,检测所述目标插件中第N个插件,并获取检测结果,所述N大于等于1小于等于M,所述预设检测规则至少根据所述OpenStack系统中从系统层至应用层中各个层级配合的优化逻辑生成;所述预设检测规则包括:
当所述第N个插件为镜像缓存插件时,解析所述镜像缓存插件,检查所述系统中是否已存储主动缓冲程序;
当所述第N个插件为镜像转换插件时,解析所述镜像缓存插件,获取计算节点的配置文件;检测所述配置文件中的转换参数是否为真;
当所述第N个插件为CPU管理插件时,解析所述CPU管理插件,获取所述系统的CPU频率模式,并检测所述CPU频率模式;
当所述第N个插件为算法插件时,解析所述算法插件的配置文件,获取密码轮数值;根据所述密码轮数值和密码哈希函数,获取实际密码测算时间;比较所述实际密码测算时间与预设测算时间的大小;
当所述第N个插件为依赖项插件时,解析所述依赖项插件,获取所述系统中依赖项的版本信息;判断所述依赖项的版本信息是否符合预设参数;
当所述第N个插件为文件句柄插件时,根据预设检测程序,读取当前系统文件中设置的句柄数量,判断所述句柄数量是否设置与预设经验值相匹配;
当所述第N个插件为调用命令插件时,根据预设检测程序,单独运行OpenStack的外部命令调用模块,并执行外部命令,获取执行命令的运行时间;判断所述执行命令的运行时间是否超过预设运行时间;
当所述第N个插件为网络接入插件时,根据预设检测程序,检测neutron配置文件中的超时时间是否超过预设值,所述超时时间是指方法处理超时异常的时间;
当检测结果指示所述第N个插件需要优化时,根据所述目标插件相匹配的优化处理规则,优化所述目标插件,并检测第N+1个插件,直至所有M个插件均完成优化处理,以使得所述OpenStack系统优化。
2.根据权利要求1所述的方法,其特征在于,当所述第N个插件为镜像缓存插件时,所述方法还包括:
当检测到系统中已存储主动缓冲程序时,确定目标插件无需优化,并检测第N+1个插件;
当未在系统中检测到存储主动缓冲程序时,则确定检测结果为所述第N个插件需要优化;
当检测结果指示所述第N个插件需要优化时,获取主动缓冲程序的文件地址;
根据所述文件地址,获取主动缓冲程序,并在目标存储地址存储所述程序,完成第N个插件的优化处理。
3.根据权利要求1所述的方法,其特征在于,当所述第N个插件为镜像转换插件时,所述方法还包括:
当所述转换参数为假,确定目标插件无需优化,并检测第N+1个插件;
当所述转换参数为真,则确定检测结果为所述第N个插件需要优化;
当检测结果指示所述第N个插件需要优化时,设置转换参数为假,完成第N个插件的优化处理。
4.根据权利要求1所述的方法,其特征在于,当所述第N个插件为CPU管理插件时,所述方法还包括:
当所述CPU频率模式不是节能模式时,确定所述第N个插件无需优化,并检测第N+1个插件;
当所述CPU频率模式是节能模式时,则确定检测结果为所述第N个插件需要优化;
当检测结果指示所述第N个插件需要优化时,根据所述系统所支持的模式,设置所述CPU的频率模式,完成第N个插件的优化处理。
5.根据权利要求1所述的方法,其特征在于,当所述第N个插件为算法插件时,所述方法还包括:
当所述实际密码测算时间小于预设测算时间时,确定所述第N个插件无需优化,并检测第N+1个插件;
当所述实际密码测算时间大于或者等于预设测算时间时,则确定检测结果为所述第N个插件需要优化;
当检测结果指示所述第N个插件需要优化时,根据密码哈希函数和测算规则,测算目标密码轮数值,并根据所述目标密码轮数值,修改配置文件中的密码轮数值。
6.根据权利要求1所述的方法,其特征在于,当所述第N个插件为依赖项插件时,所述方法还包括:
若所述依赖项的版本信息符合预设参数,则确定第N个插件无需优化,并检测第N+1个插件;
当所述依赖项的版本信息不符合预设参数,则确定检测结果为所述第N个插件需要优化;
当检测结果指示所述第N个插件需要优化时,则根据预设升级规则,升级所述依赖项的版本,完成第N个插件的优化处理。
7.根据权利要求1所述的方法,其特征在于,当所述第N个插件为文件句柄插件时,所述方法还包括:
若句柄数量与预设经验值相匹配,则确定目标插件无需优化,并检测第N+1个插件;
当所述依赖项的参数信息不符合预设参数,则确定检测结果为所述第N个插件需要优化;
当检测结果指示所述第N个插件需要优化时,则设置依赖项的参数信息,完成第N个插件的优化处理。
8.根据权利要求1所述的方法,其特征在于,当所述第N个插件为调用命令插件时,所述方法还包括:
当执行命令的运行时间未超过预设运行时间,则确定所述第N个插件无需优化,并检测第N+1个插件;
当执行命令的运行时间超过预设运行时间,则确定检测结果为所述第N个插件需要优化;
当检测结果指示所述第N个插件需要优化时,则外部命令调用模块增加补丁程序,以使得进程内文件句柄数量为预设经验值,完成所述插件的优化。
9.根据权利要求1所述的方法,其特征在于,当所述第N个插件为网络接入插件时,所述方法还包括:
若检测neutron配置文件中的超时时间未超过预设值,则确定目标插件无需优化,并检测第N+1个插件;
若检测neutron配置文件中的超时时间超过预设值,则确定检测结果为所述第N个插件需要优化;
当检测结果指示所述第N个插件需要优化时,则修改超时时间参数为预设值,完成所述插件的优化。
10.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条计算机指令,所述指令由处理器加载并执行以实现权利要求1至权利要求9任一项所述的系统优化的处理方法中所执行的步骤。
CN202111572074.9A 2021-12-21 2021-12-21 系统优化方法及装置 Active CN114356440B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111572074.9A CN114356440B (zh) 2021-12-21 2021-12-21 系统优化方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111572074.9A CN114356440B (zh) 2021-12-21 2021-12-21 系统优化方法及装置

Publications (2)

Publication Number Publication Date
CN114356440A CN114356440A (zh) 2022-04-15
CN114356440B true CN114356440B (zh) 2023-11-10

Family

ID=81101059

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111572074.9A Active CN114356440B (zh) 2021-12-21 2021-12-21 系统优化方法及装置

Country Status (1)

Country Link
CN (1) CN114356440B (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998018076A1 (en) * 1996-10-18 1998-04-30 Intervu, Inc. System and method for optimized storage and retrieval of data on a distributed computer network
CN101826055A (zh) * 2010-04-06 2010-09-08 山东高效能服务器和存储研究院 一种用于Linux系统数据缓存分配的管理方法
CN107197022A (zh) * 2017-06-02 2017-09-22 华南理工大学 OpenStack存储优化方法及系统
CN107688481A (zh) * 2017-08-17 2018-02-13 中国电子科技集团公司第五十四研究所 一种支持多节点的kvm虚拟机隐藏进程检测系统
CN109150589A (zh) * 2018-07-25 2019-01-04 赛尔网络有限公司 基于Open Stack虚拟网络阻塞异常的处理方法及系统
CN111273955A (zh) * 2020-01-16 2020-06-12 惠州Tcl移动通信有限公司 热修复插件优化方法、装置、存储介质及电子设备
CN112527319A (zh) * 2020-12-16 2021-03-19 浙江大学德清先进技术与产业研究院 基于Docker的遥感智能处理算法的管理方法
CN113590179A (zh) * 2021-08-02 2021-11-02 上海米哈游璃月科技有限公司 插件检测方法、装置、电子设备及存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11025561B2 (en) * 2017-09-13 2021-06-01 Walmart Apollo, Llc Systems and methods for computing infrastructure resource allocation

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998018076A1 (en) * 1996-10-18 1998-04-30 Intervu, Inc. System and method for optimized storage and retrieval of data on a distributed computer network
CN101826055A (zh) * 2010-04-06 2010-09-08 山东高效能服务器和存储研究院 一种用于Linux系统数据缓存分配的管理方法
CN107197022A (zh) * 2017-06-02 2017-09-22 华南理工大学 OpenStack存储优化方法及系统
CN107688481A (zh) * 2017-08-17 2018-02-13 中国电子科技集团公司第五十四研究所 一种支持多节点的kvm虚拟机隐藏进程检测系统
CN109150589A (zh) * 2018-07-25 2019-01-04 赛尔网络有限公司 基于Open Stack虚拟网络阻塞异常的处理方法及系统
CN111273955A (zh) * 2020-01-16 2020-06-12 惠州Tcl移动通信有限公司 热修复插件优化方法、装置、存储介质及电子设备
CN112527319A (zh) * 2020-12-16 2021-03-19 浙江大学德清先进技术与产业研究院 基于Docker的遥感智能处理算法的管理方法
CN113590179A (zh) * 2021-08-02 2021-11-02 上海米哈游璃月科技有限公司 插件检测方法、装置、电子设备及存储介质

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
Infrastructure Authentication, Authorization and Accounting solutions for an OpenStack platform;Mercl Lubos 等;《Mobile Web and Intelligent Information Systems: 16th International Conference, MobiWIS 2019》;123-135 *
Keystone: An open framework for architecting trusted execution environments;Lee Dayeol 等;《Proceedings of the Fifteenth European Conference on Computer Systems》;1-16 *
一种基于OpenStack的云管理平台;孙磊 等;《计算机技术与发展》;第26卷(第01期);185-189 *
基于OpenStack构建私有云计算平台;王霄飞;《中国优秀硕士学位论文全文数据库信息科技辑》(第01期);I137-2 *
数控系统中嵌入式PLC的设计;孙海建;《中国优秀硕士学位论文全文数据库工程科技Ⅰ辑》(第S2期);B022-753 *

Also Published As

Publication number Publication date
CN114356440A (zh) 2022-04-15

Similar Documents

Publication Publication Date Title
US9530004B2 (en) Secure boot method, semiconductor device and recording medium
CN107392619B (zh) 智能合约处理方法及装置
US8108536B1 (en) Systems and methods for determining the trustworthiness of a server in a streaming environment
JP5976020B2 (ja) アンチマルウェアメタデータのルックアップを行うためのシステム及び方法
CN109272109B (zh) 神经网络模型的指令调度方法及装置
CN109325349A (zh) 一种安全管理方法、终端设备及计算机可读存储介质
CN113177225B (zh) 基于区块链的数据存储证明方法、装置、设备和存储介质
KR101895453B1 (ko) 이기종 컴퓨팅 환경에서 보안 강화 방법 및 장치
CN114356440B (zh) 系统优化方法及装置
US9842018B2 (en) Method of verifying integrity of program using hash
CN107301105B (zh) 校验热补丁或者动态库的方法及装置
US20230244455A1 (en) Removing branching paths from a computer program
CN112667241B (zh) 机器学习指令的转换方法及装置、板卡、主板、电子设备
CN114238941A (zh) 一种程序度量验证方法、装置、系统及存储介质
CN116975934B (zh) 一种文件安全性检测方法及系统
CN111736851A (zh) 提高用于linux系统的软件兼容性的方法及系统
CN114327643B (zh) 机器指令预处理方法、电子设备及计算机可读存储介质
CN112817663B (zh) 一种应用程序的seccomp规则获取方法和装置
CN113064601B (zh) 动态加载文件的确定方法、装置、终端及存储介质
CN111817908B (zh) 基于强化学习的节点渗透测试方法、设备和存储介质
CN116522330A (zh) 一种后门程序检测方法、装置、电子设备及存储介质
CN115914213A (zh) 一种文件的上传方法、装置、存储介质及设备
CN115686680A (zh) 插件管理方法、装置、存储介质及计算机设备
CN114330684A (zh) 池化算法的硬件加速方法、装置、系统与可读存储介质
CN116737272A (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