首页> 中国专利> 用于使系统的结构参数组最佳化的方法、程序以及装置

用于使系统的结构参数组最佳化的方法、程序以及装置

摘要

本发明提供用于使系统的结构参数组最佳化的方法、程序及装置,该方法包括以下步骤:存储多个参数组;从多个参数组选择评价对象的测试参数组;在针对由N批构成的全组的测试参数组的性能测定中实施1批量性能测定;计算出根据使用了直到关于测试参数组结束的性能测定的批数即r批为止的测试参数组的测定值的积分、与直到已进行评价的参数组中的最佳参数组的平均测定值的r批为止的积分的差分所计算的评价值;判定评价值是否偏离了评价继续范围,该评价继续范围以在r=0时宽度为W而在r=N时宽度为W’的方式改变宽度;以及以在进行判定的步骤中判定为评价继续范围向性能恶化的方向偏离为条件,结束该测试参数组的评价。

著录项

  • 公开/公告号CN101573693A

    专利类型发明专利

  • 公开/公告日2009-11-04

    原文格式PDF

  • 申请/专利权人 国际商业机器公司;

    申请/专利号CN200780019048.5

  • 发明设计人 恐神贵行;加藤整;

    申请日2007-06-21

  • 分类号

  • 代理机构中国国际贸易促进委员会专利商标事务所;

  • 代理人吴丽丽

  • 地址 美国纽约

  • 入库时间 2023-12-17 22:53:02

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2012-02-01

    授权

    授权

  • 2009-12-30

    实质审查的生效

    实质审查的生效

  • 2009-11-04

    公开

    公开

说明书

技术领域

本发明一般涉及系统的最佳化技术,更详细而言涉及用于使系统的结构参数组最佳化的方法、程序以及装置。

背景技术

近年来,随着因特网的普及,Web系统被广泛地有效利用。典型的Web系统包括作为网关的HTTP服务器、应用程序服务器、以及数据库服务器,经由因特网与客户机连接。HTTP服务器在接收从客户机的浏览器经由因特网发送来的HTTP请求,并实施了过滤处理等之后,交给应用程序服务器。应用程序服务器通过向数据库服务器发送查询而恰当使用所取得的数据,并通过执行应用程序软件,对从HTTP服务器接收到的请求进行处理。

Web系统的性能(例如每单位时间的请求的处理能力即吞吐量)依赖于HTTP服务器的连接客户机的最大容许数、应用程序服务器的初始堆尺寸、最大堆尺寸、最大线程尺寸、最大池尺寸、数据库服务器的缓冲池尺寸、有无索引等各种各样的多个结构参数(在本说明书中简称为“参数”)的组合。能够理解为了使Web系统的性能最大化,而需要参数组的最佳化。

作为Web系统的参数组的最佳化手法,考虑对所准备的多个参数组分别提供固定时间的负载并测定吞吐量,而选择吞吐量成为最大的参数组的手法。但是,在该手法中,即使是简单的Web系统也考虑300个左右的可能的参数组,所以最佳化所需的时间有可能变得庞大。另外,存在由于针对各自的参数组提供负载的固定时间过短而无法正确地进行性能测定的可能性、由于过长而进行所需以上的性能测定的可能性。

另外,还考虑如下的技术:从所准备的多个参数组,根据系统设计者的经验和直觉,按照被考虑成最佳的顺序选择参数组,采用在其中最佳的结构,从而解决过长的最佳化时间的问题。但是,该手法为属人性而欠缺通用性。为了解决属人性的课题,在以下的文献中公开出与参数组的最佳化、Web系统的性能评价相关的技术。

非专利文献1公开出如下的手法:使用实验规划法,不是针对所有结构测定性能,而是针对不使用从测定得到的信息而随机地选择的结构的一部分以固定的精度测定性能,选择具有最佳测定值的结构。

特开2005-222343号公报公开出如下搜索算法:使用下山单纯形(downhill simplex)法,以一定的精度对到此为止的最佳结构的附近的结构进行测定,如果是比最佳结构优良的测定结果,则置换成最佳结构。

非专利文献2公开出如下搜索算法:通过向二次函数回归已得到的测定值,以固定的精度对未测定的结构中的被推定成性能更佳的结构进行测定,如果是比最佳结构还优良的结构,则置换成最佳结构。

特开2003-131907公开出如下技术:通过虚拟地实现与包括性能评价对象的瓶颈的Web系统连接的多个客户机,并对性能测定用计算机施加负载,而输出包括与Web系统的性能相关的信息以及与瓶颈回避相关的信息的评价结果。

特开2004-64734公开出如下技术:在系统模型数据库内预先存储模型模式、系统特性、功能特性以及响应时间预测模型信息,性能预测程序按照作为输入项目所输入的参数和系统模型数据库内的信息,预测Web系统的性能。

非专利文献1:A.M.Law and W.D.Kelton,Simulation Modelingand Analysis(3rd edition),McGraw-Hill(2000).

非专利文献2:B.Xi,Z.Liu,M.Raghavachari,C.H.Xia,andL.Zhang,“A smart hill-climbing algorithm for application serverconfiguration,”in Proceedings of the 13th International Conferenceon World Wide Web,pages 287-296(2004).

专利文献1:特开2005-222343号公报

专利文献2:特开2003-131907号公报

专利文献3:特开2004-64734号公报

根据上述背景技术,存在成为评价对象的所选择出的参数组群中未包括最佳的参数组的可能性、由于针对所有评价对象的参数组以相同精度进行性能测定所以对于参数组实施所需以上的性能测定的可能性。

发明内容

因此,本发明的一个目的在于提供一种用于通过更高效地选择使系统的性能最大化的参数组而使系统的参数组最佳化的方法、程序、装置。

为了达成上述目的,提供一种用于使针对由多个结构参数构成的系统的参数组最佳化的方法。方法包括如下步骤:存储多个参数组的步骤;从上述多个参数组选择评价对象的测试参数组的步骤;在针对由N批构成的全组的测试参数组的性能测定中实施1批量性能测定的步骤,其中N为正整数;计算出根据使用了直到关于测试参数组结束的性能测定的批数即r批为止的测试参数组的测定值的积分、与直到已进行评价的参数组中的最佳参数组的平均测定值的r批为止的积分的差分所计算的评价值的步骤,其中r为r<N的正整数。包括判定评价值是否偏离了规定的评价继续范围,以判定为评价继续范围向性能恶化的方向偏离为条件,结束该测试参数组的评价的步骤。规定的评价继续范围优选以在r=0时宽度为W而在r=N时宽度为W’(0≤W’<W)的方式改变宽度。进而,W’优选为0。

方法优选以判定为评价继续范围向性能提高的方向偏离为条件,将当前的最佳参数组置换成该测试参数组,针对该测试参数组推行全组的性能测定。方法优选直到判定为评价继续范围向性能恶化或性能提高的方向偏离了为止,反复进行上述的步骤。

进行选择的步骤可以从多个参数组选择被推定为性能最高的参数组作为测试参数组。在该情况下,优选通过使用已进行性能评价的参数组的评价结果,进行回归以使关于上述评价结果的精度加权而得到的平方误差成为最小,从而计算出性能曲线,使用性能曲线,搜索被推定为性能最高的参数组。

关于上述评价结果的精度加权而得到的平方误差优选根据对各自的参数组实施的性能评价的批数和/或表示各自的参数组的性能评价值的偏差的指标进行加权。

以上,作为用于使参数组最佳化的方法说明了本发明的概要,但本发明还可以掌握成参数组最佳化装置、程序、或程序产品。程序产品例如可以包括存储了上述程序的存储介质、或者包括传送程序的介质。

应注意上述发明的概要并未列举出本发明所需的全部特征,这些结构要素的结合或子结合也能够成为发明。

附图说明

图1是示出本发明的实施方式中的参数组最佳化装置以及与最佳化装置连接的Web系统的图。

图2是本发明的实施方式中的最佳化装置的功能框图。

图3是表示出本发明的实施方式中的系统的初始动作的流程图。

图4是表示出本发明的实施方式中的系统的动作的流程图。

图5是表示出本发明的实施方式中的系统的性能评价的进展的曲线。

图6是表示出本发明的实施方式中的选择被推定成最佳的参数组的流程的流程图。

图7是用于说明本发明的实施方式中的选择被推定成最佳的参数组的手法的图。

图8是示出适合实现本发明的实施方式中的最佳化装置的信息处理装置的硬件结构的一个例子的图。

具体实施方式

以下,根据附图对用于实施本发明的最佳方式进行详细说明,但以下的实施方式并不用来限定权利要求所涉及的发明,此外实施方式中说明的所有特征组合对于发明的解决手段来说并非是必需的。

另外,本发明可以通过多个不同的方式实施,不应限定于实施方式的记载内容来被解释。另外,应注意实施方式中说明的特征的所有组合对于本发明的解决手段来说并非是必需的。在实施方式的所有说明中对相同要素附加相同序号。

图1示出本发明的实施方式的参数组最佳化装置100(以下简称为“最佳化装置100”)以及应最佳化的Web系统120的外观的一个例子。在本发明的实施方式中,最佳化装置100以及Web系统120经由网络110连接。

最佳化装置100存储针对应最佳化的Web系统120所准备的多个结构参数组。最佳化装置100使用各自的参数组,设定Web系统的结构,对Web系统120提供负载而实施性能评价。然后,根据性能评价的结果,选择使Web系统120的性能成为最大化的最佳的参数组。

网络110是连接最佳化装置100以及Web系统120的通信路径,作为一个例子可以利用因特网来实现。作为因特网的网络110使用公知的TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/因特网协议)在系统之间连接。在网络110中利用用全局地址或本地地址表示的IP地址相互通信的系统被确定。

Web系统120具有根据来自客户机的请求(优选为HTTP请求),提供应用程序服务的功能。在本发明的实施方式中,Web系统120采用所谓的三层结构,包括HTTP服务器122、应用程序服务器124以及数据库服务器126。

HTTP服务器122具有在接受来自客户机的请求、实施过滤处理等之后,交给应用程序服务器124的功能。本领域技术人员可以使用作为Apache Software Foundation的开放源软件的Apache、MicrosoftCorporation的IIS(Internet Information Service,因特网信息服务),恰当构筑HTTP服务器122。

应用程序服务器124具有根据来自客户机的请求,执行预先被导入的应用程序软件,并返回结果的功能。应用程序服务器124还具有生成询问在应用程序的执行中所需的数据的查询(优选为SQL查询),对数据库服务器124进行询问的功能。本领域技术人员可以使用International Business Machines Corporation所提供的WebSphere(R)产品、BEA Systems Inc.所提供的Weblogic(R)产品,恰当构筑应用程序服务器124。

数据库服务器126安装有数据库管理软件(DBMS),对存储有应用程序服务器124为了执行处理而所需的数据的数据库进行管理。本领域技术人员可以使用International Business MachinesCorporation所提供的DB2(R)产品、Oracle Corporation所提供的Oracle Database产品、Microsoft Corporation所提供的SQL Server产品那样的数据库管理软件(DBMS),恰当构筑数据库服务器126。

图2是本发明的实施方式的最佳化装置100的功能框图。另外,通过在具有使用图8后述的硬件结构的信息处理装置中,将存储在硬盘装置13等中的操作系统、计算机程序载入主存储器4之后读入到CPU 1,并协调硬件资源与软件,而可以实现图2的功能框图所示的各要素。

在本发明的实施方式中,最佳化装置100包括参数组存储部210、输入部220、输出部230、系统控制部240、负载生成器250、数据分析部260、以及测定控制部270,经由网络110与对象系统120连接。

参数组存储部210存储Web系统120的参数组。多个参数组优选存储在参数组存储部210。另外,参数组优选以XML(eXtensibleMarkup Language,可扩展标记语言)形式存储。另外,存储在参数组存储部210中的参数组也可以通过人工准备,也可以按照规定的规则利用计算机自动生成。进而,也可以从由计算机自动生成的参数组通过人工恰当选择,并存储这些。即、希望注意的是用户可以任意准备多个参数组。

输入部220是利用键盘6、鼠标7那样的输入设备实现的,从对最佳化装置100进行操作的用户接受与初始参数组的设定相关的操作、数据或与系统控制相关的信息等的输入。输出部230是利用显示装置11那样的输出设备实现的,向用户显示参数组的最佳化所需的信息、出错消息、按照本发明的实施方式的最佳化处理选择出的最佳参数组等。

系统控制部240保持用户在输入部220中输入的与系统控制相关的信息。系统控制部240根据来自输入部220的用户输入、来自测定分析部270的指示,使用从参数组存储部210取得的应进行性能测定的参数组,进行Web系统120的设定。在本发明的实施方式中,系统控制部240还进行负载生成器250的起动/停止、Web系统120的程序的起动/停止、性能测定的开始/结束等控制。

负载生成器250根据来自系统控制部240的指示,针对每个参数组生成多个HTTP请求作为用于性能评价的系统负载,依次发送到Web系统120。负载生成器250还可以生成为了充分地进行各参数组的性能评价而所需的量的负载(以下称为“全组的负载”),还可以生成对全组的负载进行分割而得到的测定单位(以下称为“批”)的负载。

在本发明的实施方式中,设为全组的负载向利用各自的参数组的Web系统120发送30分钟的HTTP请求而进行说明。但是,全组的负载无需针对所有参数组设为相同量的负载。具体而言,为了得到与各自的参数组对应的测定结果,也可以针对各参数组设为不同的量,例如在性能测定结果的偏差大的情况下施加更多的负载,而在小的情况下施加更少的负载等。

另外,在本发明的实施方式中,1批的负载设为发送5分钟的请求(将作为全组的负载的30分钟的请求的发送均等地进行6分割而得到的请求)而进行说明。但是,在决定批的尺寸的情况下并非均等地进行分割,而还可以改变1个参数组内的批间的尺寸。另外,还可以针对每个参数组改变批的尺寸。

数据分析部260针对每个要评价的参数组从Web系统120经由网络110取得并存储针对从负载生成器250发送的HTTP请求的响应的性能测定结果。数据分析部260对所取得的测定结果进行分析,根据需要将包括每批的平均值的分析结果交给测定控制部270。

测定控制部270通过使数据分析部260监视针对负载生成器250发送的HTTP请求的Web系统120的响应,对每个参数组的性能测定进行控制。另外,测定控制部270通过根据从数据分析部260得到的每个测定单位的平均,计算出采样平均、采样分散、判定基准、合计测定单位数,而判定接下来应测定的参数组、测定的结束,并向系统控制部240发送判定结果。测定控制部270为了向用户提示而向输出部230发送被最终判定成最佳的参数组的信息。

图3是表示出本发明的实施方式中的最佳化装置100的初始化动作的流程图300。处理在步骤305中开始,而在步骤310中准备多个参数组,并存储到参数组存储部210。如上所述,所准备的参数组也可以通过人工准备,也可以按照规定的规则利用计算机自动生成。进而,也可以从由计算机自动生成的参数组通过人工恰当选择。即、希望注意的是用户可以任意准备多个参数组。

处理进入到步骤315,根据来自输入部220的用户的输入,从存储在参数组存储部210中的多个参数组选择被最初进行性能评价的初始参数组。在本发明的实施方式中,通过将初始参数组设定成性能尽可能良好的结构,可以高效地实现参数组的最佳化。因此,用户根据经验或知识选择认为性能尽可能良好的初始参数组即可。例如,用户利用将应用程序服务器124的最大堆尺寸推荐为“物理存储器的1/4”、将初始堆尺寸推荐为“最大堆存储器的1/2”、将最大线程尺寸、最小线程尺寸推荐为“50”、将最大连接池尺寸、最小连接池尺寸推荐为“30”这样的知识,选择初始参数组。

处理进入到步骤320,测定控制部270自动地决定恰当的负载内容,实施全组的负载(即30分钟的HTTP请求)的生成。另外,由于Web系统的性能根据负载而变化,所以为了对基于不同的结构参数组的Web系统120的性能进行比较,需要在针对各参数组的性能测定中施加同样的恰当的负载。在针对Web系统120的负载低的情况下,由于结构参数组的差异而引起的性能之差并未显著显现,所以必需提供恰当的量的负载。考虑上述性质,在本发明的实施方式中,测定控制部270如下所述决定并生成恰当的负载水平。

具体而言,测定控制部270向基于初始结构参数组的Web系统120以较少的数量(例如设为2~3即可)的客户机数提供负载,而取得构成Web系统120的各资源的资源使用率。然后,通过从所取得的资源使用率的平均值提高负载,而求出饱和状态的吞吐量和饱和状态下的客户机数。测定控制部270将该饱和状态下的客户机数的2倍决定成恰当的负载。在本发明的实施方式中,在以后的结构参数组的性能评价中,使用此处决定的客户机数而实施性能测定。

处理进入到步骤325,对由系统控制部240设定了初始参数组的Web系统120提供在步骤320中生成的负载,实施基于初始参数组的系统的性能测定。此时,被提供全组的负载(即被发送30分钟的HTTP请求),对性能测定结果进行监视。在测定开始之后,通过计算出性能测定结果的数据的各指标的统计量,并判定它们是否收敛于固定的范围内,判定性能值是否统计性地稳定。在测定结束时间之前判定为性能值未统计性地稳定的情况下,判定为针对该参数组的测定统计性地非稳定,通过测定控制部270在输出部230中显示使用户得知测定失败的出错消息即可。

在测定结束时间之前判定为性能值统计性地稳定而正常地结束了全组的性能测定的情况下,在步骤330中,存储初始参数组及其性能测定结果,在步骤335中处理结束。

图4是表示出由本发明的实施方式中的最佳化装置100实现的结构参数组的最佳化处理的流程的流程图400。处理在步骤405中开始,在步骤410中,从尚未进行性能评价的参数组选择被推定成性能最佳的参数组,进行Web系统120的参数设定。另外,在本发明的实施方式中,将在步骤410中选择成评价对象的参数组称为“测试参数组”。关于步骤410中的测试参数组的选择,将在后面使用图6进行详述。

处理进入到步骤415,生成以批为单位的负载。对于批的尺寸,如果进行选择以使各批中的性能测定值的平均值独立地接近正态分布,则可以高精度地进行各自的参数组间的优劣判定。如上所述,在本发明的实施方式中,1批的尺寸为发送5分钟的请求。处理进入到步骤420,向Web系统120仅提供1批的负载,而进行性能测定。

处理进入到步骤425,根据在步骤420中得到的性能测定的结果,判定测试参数组、与到此为止已进行性能测定的参数组中的性能最佳的参数组(在本说明书中称为“最佳参数组”)中的哪一个优良。以下,使用图5对上述判定的手法进行说明。

图5是表示出本发明的实施方式中的系统的性能评价的进展的曲线500。曲线500的横轴表示针对某结构参数组的性能评价的进展的时间轴。另外,曲线500的纵轴表示在性能评价的进展的某时刻所掌握的、表示测试参数组的性能与最佳参数组的性能的优劣的评价值。具体而言,在本发明的实施方式中,用作根据使用了性能评价的开始到r批为止的测试参数组的测定值的积分、与已进行评价的参数组中的最佳参数组的平均测定值的性能评价的开始到r批为止的积分的差分计算出的评价值。在本发明的实施方式中,r意味着关于测试参数组结束了性能测定的批数(另外r为<N的正整数)。在本发明的实施方式中,直到最佳参数组的平均测定值的r批为止的积分可以通过对最佳参数组的平均测定值乘上r而求出。

本发明的实施方式的图表500包括被将截矩设为α并线性减少的直线550以及将截矩设为-α并线性增加的直线540这2根线隔开的第1区域520、第2区域530、第3区域。上述的评价值的线图表510被绘制于图表500内。在本发明的实施方式中,当由于对在r批数量的性能评价结束的时刻所掌握的最佳参数组的测定结果的平均值乘上r而得到的值、与使用了直到r批为止的上述测试参数组的测定结果的积分值的差分的绝对值较小,而线图表510滞留于第1区域520(即评价继续范围)内的情况下,判定为测试参数组与最佳参数组中的哪一个优良不明确。

另外,在本发明的实施方式中,当由于对最佳参数组的测定结果的评价值乘上r而得到的值比使用了直到r批为止的上述测试参数组的测定结果的积分值充分小、而进入到第2区域530的情况下,判定为测试参数组一方优于最佳参数组。当由于对最佳参数组的测定结果的平均值乘上r而得到的值比使用了直到r批为止的上述测试参数组的测定结果的积分值充分大、而进入到第3区域540的情况下,判定为最佳参数组的一方优于测试参数组。

在上述中应注目的点在于,r=0时的评价继续范围的宽度W从是2α的位置减少,r=N时的评价继续范围的宽度W’最终成为0。即,在参数组的评价开始之后不久测定精度降低,所以如果不使对最佳参数组的测定结果的平均值乘上r而得到的值与使用了直到r批为止的上述测试参数组的测定结果的积分值的差分的绝对值增大至某种程度,则无法判定最佳参数组与测试参数组中的哪一个优良。相反,由于随着参数组的评价的进行,测试参数组的测定精度提高,所以即使差分的绝对值为更小也可以判定最佳参数组与测试参数组中的哪一个优良。

在上述说明中,假设了评价继续范围的宽度线性减少的情况,但关于评价继续范围的宽度的变化也可以考虑各种变动。即、希望注意的是如果最低限、在r<N中,评价继续范围的宽度大于0,则本发明的实施方式的最佳化装置100可以动作。在本实施方式中,优选W’比W小。另外,在W’大于0,并且当r=N时图表510滞留于评价继续范围内的情况下,在输出部230上显示测试参数组与最佳参数组中的哪一个优良最终不明确的意思的出错消息,而向用户通知即可。

根据以上的手法,在步骤425中,判定为测试参数组与最佳参数组中的哪一个优良不明确的情况下,处理从步骤425返回到步骤415,进而反复步骤415、步骤420。即、直到上述评价继续范围向性能恶化或性能提高的方向偏离为止,反复步骤415、步骤420。此处,在本发明的实施方式中,每当反复步骤415、步骤420,评价继续范围的宽度变窄,而宽度最终成为0。因此,希望注意的是测试参数组与最佳参数组的优劣最终将被判定。

在步骤425中,判定为测试参数组更优良(即、上述评价继续范围向性能提高的方向偏离)的情况下,处理从步骤425进入到步骤430,对基于测试参数组的Web系统120提供全组(30分钟)的负载,而进行性能测定。接下来,处理进入到步骤435,将测试参数组及其测定结果存储为最佳参数组。处理进入到步骤440。

在步骤425中判定为最佳参数组更优良(即、上述评价继续范围向性能恶化的方向偏离)的情况下,处理从步骤425直接进入到步骤440,结束与测试参数组相关的性能评价。由此,关于该测试参数组,无需进行以后的测定,而有利于缩短评价时间。

在步骤440中,判定是否残留尚未进行性能评价的参数组。在步骤440中,判定为残留有参数组的情况下,处理从步骤440经由“是”的箭头返回到步骤410,从残留的参数组选择新的测试参数组,反复上述的步骤。

在步骤440中,判定为未残留参数组的情况下,处理从步骤440进入到步骤445,将当前的最佳参数组作为最终的参数组经由输出部230向用户提示之后,结束处理。

图6是表示出本发明的实施方式中的选择被推定成最佳的参数组的流程的流程图600。利用流程图600,能更明确地说明图4所示的流程图400的步骤410中的处理。处理从步骤605开始,在步骤610中读出到此为止已进行性能测定的参数组的测定结果。

处理进入到步骤615,根据在步骤610中读出的多个测定结果,开始在未评价的参数组中选择被推定成性能最高的参数组的信息处理。作为上述的信息处理,可以使用根据过去的性能测定结果,进行关于未测定的评价对象的性能推定的手法。更具体而言,通过选择回归函数以使平方误差成为最小而求出性能曲线,可以使用该性能曲线选择性能最高的参数组。

作为一个例子,使用图7(a)对用二次曲线近似性能曲线的情况进行说明。在上述情况下,可以通过使用过去的测定结果(710、720、730、740)以使式(1)成为最小的方式选择回归函数,计算出性能曲线(750),根据所计算出的性能曲线确定被推定成最佳的参数组(760)(参照图7(a)的曲线)。另外,在式(1)中,为简化说明,将变量参数仅视为1种,但当然也可以将变量参数设为多个而计算出多维的性能曲线。

式(1)

Σi(avi2+bvi+c-yi)2

vi:参数组i中包含的变量参数

yi:基于参数组i的系统的吞吐量的测定值

另外,在本发明的实施方式中,如上所述,性能测定并非总是在全组(30分钟)下进行,所以在步骤610中读出的多个测定结果(710、720、730、740)的测定精度(图7(b)的715、725、735、745)可以不同。例如,当判断为某测试参数组的性能在仅提供10分钟的负载而进行了性能测定的时刻,不如此时的最佳参数组的性能好的情况下,在该时刻该参数组的评价结束(参照图4的步骤425)。关于实施了上述性能评价的参数组,存储在最佳化装置100中的性能值的精度当然比在全组(30分钟)下进行的性能评价的性能值的精度低。

在本发明的实施方式中,由于上述精度的差异,有可能计算出精度与针对所有结构参数进行全组的性能评价的情况相比相对低的性能曲线。因此,在本发明的实施方式中,优选在精度高时较高地评价,在精度低时较低地评价而计算出性能曲线。具体而言,在本发明的实施方式中,作为与精度相关的加权,通过进行回归以使使用了(1)对各自的参数组实施的性能评价的批数Ni、以及(2)表示各自的参数组的性能评价值的偏差的采样分散Si的平方误差成为最小而求出性能曲线。

因此,在用二次曲线近似性能曲线,并使用加权平方误差来计算出性能曲线的情况下,通过选择回归函数以使式(2)成为最小,可以计算出性能曲线。

式(2)

ΣiNiSi2(avi2+bvi+c-yi)2

vi:参数组i中包含的变量参数

yi:基于参数组i的系统的吞吐量的测定值

Ni:对参数组i实施的性能评价的批数

Si2:与参数组i相关的采样分散

另外,与参数组i相关的采样分散Si可以通过在最佳化装置100中进行式(3)的计算而求出。

式(3)

Si2=1Ni-1Σl=1Ni(Xi,l-Yi)

Si2:与参数组i相关的采样分散

Ni:对参数组i实施的性能评价的批数

Xi、l:参数组i的性能评价中的第1批的吞吐量的测定值

Yi:利用参数组i的性能评价整体的吞吐量的测定值的平均

处理进入到步骤620,使用所计算出的性能曲线,从未测定的参数组搜索被推定成性能最佳的参数组。处理进入到步骤625,判定通过步骤620的搜索是否发现了参数组。在步骤625中判定为发现的情况下,处理从步骤525经由“是”的箭头进入到步骤635,将该参数组推定成性能最佳的参数组并进行选择。处理进入到步骤640,结束参数组的选择,进行图4的步骤415以后的处理。

在步骤625中判定为未发现的情况下,进入到步骤530,使用其他既知的手法(例如搜索算法等)搜索被推定成性能最佳的参数组。然后,处理进入到步骤625,将通过其他手法搜索出的参数组推定成最佳的参数组并进行选择。处理进入到步骤640,结束参数组的选择,进行图4的步骤415以后的处理。

图8是示出适合实现本发明的实施方式的最佳化装置100的信息处理装置的硬件结构的一个例子的图。信息处理装置包括与总线2连接的CPU(中央处理装置)1和主存储器4。硬盘装置13、30、以及CD-ROM装置26、29、软盘装置20、MO装置28、DVD装置31那样的可拆卸贮存器(可更换记录介质的外部存储系统)经由软(R)盘控制器19、IDE控制器25、SCSI控制器27等与总线2连接。

软盘、MO、CD-ROM、DVD-ROM这样的存储介质被插入于可拆卸贮存器。在这些存储介质、硬盘装置13、30、ROM 14中,可以记录用于与操作系统协作向CPU等提供命令而实施本发明的计算机程序的代码。通过向主存储器4载入而执行计算机程序。计算机程序还可以压缩并且分割成多个而记录到多个介质中。

信息处理装置经由键盘/鼠标控制器5接受来自键盘6、鼠标7那样的输入设备的输入。信息处理装置经由DAC/LCDC 10与用于向用户提示视觉数据的显示装置11连接。

信息处理装置经由网络适配器18(以太网(R)卡、令牌环卡)等与网络连接,可以与其他计算机等进行通信。虽然未图示,但还可以经由并行端口与打印机连接、经由串行端口连接调制解调器。

根据以上说明,适合实现本发明的实施方式的数据处理系统100的信息处理装置利用通常的个人计算机、工作站、主机等信息处理装置、或者它们的组合来实现这一点容易理解。但是,这些结构要素仅为例示,而其所有结构要素并非本发明的必需结构要素。

对于本领域技术人员来说当然可以容易想到通过组合多个设备并对它们分配并实施功能等,从而对在本发明的实施方式中使用的信息处理装置的各硬件结构要素进行各种变更。这些变更当然是包含在本发明的思想中的概念。

最佳化装置100可以采用Microsoft Corporation所提供的Windows(R)操作系统、Apple Computer所提供的MacOS(R)、具备X Window System的UNIX(R)类系统(例如InternationalBusiness Machines Corporation所提供的AIX(R)或Linux(R)等)那样的支持GUI(图形用户接口)多视窗环境的操作系统。

如上所述,可以理解在本发明的实施方式中使用的数据处理系统不限于特定的多视窗操作系统环境。即、操作系统只要可以提供资源管理功能以使应用程序软件等可以利用数据处理系统的资源,则可以采用任意的操作系统。另外,在资源管理功能中,可以包括硬件资源管理功能、文件句柄功能、假脱机功能、作业管理功能、存储保护功能、虚拟存储管理功能等,但对于这些功能,由于对于本领域技术人员来说是公知的,所以省略详细的说明。

另外,本发明可以实现成硬件、软件、或者硬件以及软件的组合。在利用硬件和软件的组合的执行中,具有规定的程序的数据处理系统中的执行可以列举成典型的例子。在上述情况下,通过向该数据处理系统载入该规定程序并执行,该程序控制数据处理系统,而使其执行本发明的处理。该程序由可以利用任意的语言代码表述表现的命令群构成。对于这样的命令群,系统可以直接进行特定的功能,或者可以在进行1.向其他语言代码表述的变换、2.向其他介质的复制中的任意一个或双方之后执行。

当然,本发明不仅包括这样的程序自身,而且在其范围中还包括记录有程序的介质。用于执行本发明的功能的程序可以存储在软盘、MO、CD-ROM、DVD、硬盘装置、ROM、MRAM、RAM等任意的计算机可读取的记录介质。上述程序为了存储到记录介质,而可以从用通信线路连接的其他数据处理系统下载,或者可以从其他记录介质复制。另外,上述程序还可以压缩或分割成多个而存储到单一或多个记录介质。另外,希望注意的是当然还可以以各种方式提供用于实施本发明的程序产品。

以上,根据本发明的实施方式,可以高效地使针对由多个结构参数构成的Web系统的参数组最佳化。因此,能够容易地理解可以更高效地构筑高性能的Web系统。

对于本领域技术人员可知可以对上述方式施加各种变更或改良是明确的。例如,在本发明的实施方式中,对所准备的所有参数组进行了性能评价,但也可以根据是否满足某规定的条件、例如(1)从系统的性能评价开始起经过了预定时间、(2)对预定数量的参数组进行了性能评价等,来停止参数组的评价。希望注意的是施加了那样的变更或改良的方式当然也包含于本发明的技术性范围中。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号