服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > JAVA > 新手入门 > 基础入门 > 查看文档

为weblogic 8.1 platform添加自我检测和自动优化功能

  首先,我们来回顾一下当前大多数企业中检测问题的过程:在生产环境中,运行在weblogic上的一个j2ee应用程序出现了问题,检测人员通过日志获取信息,然后weblogic server被重启。这时,应用程序开发人员和管理员就要分析获得的信息,并找出问题的根源所在。

  如果他们技巧熟练,并且运气够好,可能会找到所需的所有信息。但是,大多数时候,情况并不是这样的。通常不能从生产中的故障中找到分析问题根源所需的细节。常常必须在测试环境中重现问题,才能获得确定问题根源的正确数据。我们都看到了:这个过程需要大量的时间和工作量。

  作为一名weblogic顾问,在多年面对该领域中的这些问题,并发现缺乏相应的工具之后,我决定做一点什么。用于weblogic的arcturus (www.arcturustech.com) autopilot就是这一决定的产物。

  autopilot以一种独特的方式解决了上述问题。autopilot是一个基于专家系统的工具,其开发人员中有许多拥有多年专业经验的专家。autopilot对一些极度繁琐乏味的任务进行了自动化,以实现最佳实践,比如:预测监控、即时根源分析、weblogic调优、weblogic环境审查等。autopilot将为您节省大量的人力和硬件/软件许可成本。

  autopilot可以使用其intellicheck技术预测性地对weblogic进行监控,发现那些可能引发故障的模式,并在故障出现之前警告管理员。autopilot不需要任何辅助工具就可以发现异常模式。autopilot使用weblogic中已经存在的信息,而且开销相当低。

  autopilot将分析问题根源的过程完全自动化了。autopilot自动地在生产中检测weblogic的故障状态,并自动地分析weblogic的状态(数千个指标),即时生成一个根源分析报告。此外,autopilot还将向管理员发送一份电子邮件,其中不仅告知了weblogic server出现故障,而且还说明了故障的原因。

  autopilot是真正的java和j2ee解决方案,它可以直接插入bea weblogic server和console,并无缝地与其共同使用(参见图1)。您可以访问http://support.arcturustech.com/downloadpage.do,获得autopilot的评估版本。

为weblogic 8.1 platform添加自我检测和自动优化功能(图一)

  autopilot的安装过程非常简单。使用autopilot安装向导,不要10分钟就可安装完毕。关于autopilot的更多安装细节,请访问http://support.arcturustech.com/aphelp/installingautopilot.htm。

  虽然weblogic提供了所有的jmx信息,但它不是以一种易于使用的格式提供的。autopilot提供了一个易于使用的浏览mbean信息的接口。利用autopilot资源管理器,可看到关于配置和运行时mbean属性的视图。autopilot资源管理器使用户可以直接从weblogic console获得jmx信息,而不必浏览许多jsp页面来达到同样的目的。

  weblogic有一个特征就是缺乏用于监控数据的持久化功能。用户可以在weblogic中获得一个非常不错的关于堆和队列大小的图表,但是一旦该信息从屏幕上消失,它就永远消失了。这意味着,如果发生不好的情况时管理员不在控制台前,那就糟糕了。而autopilot自动保存了关于weblogic状态的关键信息以进行历史分析。它为weblogic管理员提供了非常易于使用的数据挖掘功能。例如,可以对weblogic server的性能进行为期30天的观察,并且只需通过几次单击就可进入到一个特定的时间帧中。autopilot analyzer则可以帮助管理员识别weblogic server中的问题和来源(参见图2)。

为weblogic 8.1 platform添加自我检测和自动优化功能(图二)

为weblogic 8.1 platform添加自我检测和自动优化功能(图三)

为weblogic 8.1 platform添加自我检测和自动优化功能(图四)


 

  autopilot允许在任何jmx属性上创建传感器(sensor)。传感器本身也是一个jmx属性,每次autopilot检测weblogic server的状态时都要保存该属性的值。autopilot提供了一个易于使用的接口来图形化地分析传感器autopilot所收集的分析数据。

  autopilot所独有的一个非常有用的特性就是blackbox。autopilot blackbox(图5)允许在任何时间对weblogic server的状态进行快照。blackbox是weblogic server以及运行在其上的应用程序的内部状态的视图。blackbox保存了创建它时服务器的状态。可以使用一个易于使用的资源管理器视图对blackbox数据进行分析,类似于autopilot config以及run-time mbeans资源管理器所使用的。可以在任何时候单击一个按钮创建一个blackbox。当正在进行分析并希望保存状态时,它就显得非常方便了。

为weblogic 8.1 platform添加自我检测和自动优化功能(图五)

  根据我的经验,如果在问题发生时您在现场,那么就比较容易找出问题的根源。然而,遗憾的是,您不能让一个专家坐在weblogic console前等着问题发生。autopilot解决了这个问题。autopilot中的一个重要特性就是自动检测weblogic server中的故障状态。当weblogic server进入不好的状态时,autopilot就自动对它进行检测。一旦检测到这样的状态,autopilot就自动为weblogic创建一个blackbox。大多数情况下,一旦weblogic进入不好的状态,管理员就会迅速将有问题的weblogic server实例跳开,以便将生产环境恢复到希望的状态。因此即使有一个专家可以分析服务器并找出问题的根源,他也没有足够的时间去进行故障排除。而blackbox为这些专家提供了服务器在该实例上的完整状态,甚至是服务器崩溃之后的状态。autopilot所做的还远不止是这些。它自动分析weblogic server的状态,生成一个问题根源报告,并自动通过电子邮件发送给管理员。

  这样,专家们就可以获得他们所需的所有信息,即使问题是在深夜他们沉睡时发生的。autopilot对数千个指标的分析几乎是在瞬间完成的,而一个专家完成同样的工作则需要大量的时间。autopilot深入事务层来确定问题的根源,并识别有问题的事务。这使用于weblogic的autopilot成为一个极为有用的工具。

  此外,在任何时间,都可以手动执行autopilot detector来分析weblogic server的运行时状态。它是非常有效的,而且也是找出环境中问题模式的最不具有侵入性的方式。autopilot detector不对环境做任何改动,因此可以安全地在生产环境中运行。

  autopilot向weblogic 8.1添加了大受欢迎的自我检测功能。使用它的intellicheck技术,autopilot可以监控和分析weblogic的内部状态,以检测可能引发问题的状态。一旦检测到此类状态,autopilot就向管理员发出警告。

  作为一名weblogic顾问,我所遇到的每一位客户都要求我检查他们的环境,并就何处还有改进空间给他们以指导。要证明他们的环境没有问题并提出有关最佳实践的建议需要花费大量的时间。现在,利用autopilot advisor,我就可以将这项工作自动化。autopilot advisor可以分析整个weblogic环境,并生成一封建议报告。autopilot advisor将告诉您哪个地方对weblogic的使用不太恰当,并指导您如何解决这些问题。advisor还将就最佳实践以及在环境中使用最佳实践的位置给出建议,您将从中获益不少。这就等同于请一位专家来评估环境,并咨询他关于对基础架构的利用情况的意见。autopilot的优点在于让用户通过单击一个按钮就可以利用多位专家多年的专业经验,并在几分钟内就产生结果。

  很多时候,您遇到了一个生产中的问题,然后通过bea support您发现,有一个针对该问题的补丁(cr)可用。如果能在实际在生产中遇到某个问题之前就知道对您的环境可用的补丁,那岂不是很好?利用autopilot就可以做到。advisor检查所有对您的环境可用的补丁,并提供关于每个补丁的细节。而且它并不是盲目地给您一张从bea获得的最新服务包的可用补丁列表,它还要进行相关性检查。这样,就可以从补丁列表中过滤出必须安装的那些补丁了。

  企业所面临的另外一个问题是,为获得最优的性能而对soa/j2ee应用程序和weblogic server进行调整需要大量的时间和工作量。目前,对weblogic的调优被视为是一项艺术而不是一项科学。虽然已经有越来越多的人熟悉了它,但是“调整一个东西,查看效果,然后重复,直到达到配置平衡”的调优过程仍然是一项非常耗费时间和精力的任务。因为性能调优是如此的复杂,所以许多企业运行的weblogic并未经过完全调优。此外,必须知道,weblogic的优化是极易被打破的。每次对应用程序所做的改动都可能使整个环境完全脱离平衡,而先前调优过的配置可能会由于最近对应用程序所做的更改而不再是最优的。将weblogic调优与汽车的轮子作一比较。每次改变汽车的轮胎都需要做一些其他工作,比如车轮对准、平衡等等,才能获得最好的性能。类似地,对于weblogic,每次对应用程序进行更改,需要对weblogic和应用程序都进行调整才能获得最优的性能。在我的职业生涯中,我经常遇到这样的反应:“我们去年已经进行了调优,应该还可以使用吧?”如果环境和应用程序中什么都没有改变,那么这是正确的,但是鉴于当今不断变化的业务需求,应用程序和环境的变化频度要远远超过一年一次。对于每次更改,都应该评估它所产生的性能影响。也许并不是每次更改都需要改变weblogic或应用程序的配置,但是至少每次都要从性能的角度来查看更改的影响。

  autopilot挽救了weblogic的调优和性能确定。autopilot将weblogic调优从一项极为复杂的任务转变为只需几次单击的操作。autopilot使用构建于它所固有的知识和决策功能之上的intellitune技术对已经验证的weblogic调优过程进行了自动化。使用autopilot,weblogic的调优过程还是一样的――但是,运行负载、分析性能、进行适当的更改以及在需要的时候重启weblogic server等所有工作都是由autopilot来完成的。autopilot使用用户提供的负载生成脚本,在weblogic应用程序上运行各种场景。它针对每种负载情况分析应用程序以及weblogic的行为。在每次加载负载并分析之后,autopilot就做出适当的调整。之后它返回负载和比较结果。它继续这一过程直到达到完美的平衡。在调优过程中,autopilot识别出所有的应用程序瓶颈。您可以在下午下班前启动weblogic调优过程,第二天早上您就会得到一个完全经过调优的weblogic。整个调优过程需要您参与的部分只是启动该过程。而autopilot tune wizard简化了启动过程,您只需进行几次单击。如果需要的话,还可以安排在晚上或其他任何时间启动调优过程。

  调优之后,您还可以使用autopilot tuning analyzer查看性能的变化。因为autopilot是在weblogic引擎级别上进行调优和检测问题的,所以它对weblogic server之上的所有产品都有帮助。

  我很高兴看到weblogic 9.0中提供了自我调优功能。在我看来,自我调优是向正确的方向迈出的一大步,但是该功能的成熟需要时间。在生产环境中动态地改变设置会导致无法预料的情况,而且可能会导致故障。在企业对动态地在生产环境中改变设置习惯之前,autopilot将帮助企业在生产环境中自动调优应用程序和weblogic。这样是把一个经过调优的配置推向生产,而不是在生产环境中进行调优。甚至以后当自我调优功能成熟了,企业已经习惯了自我调优功能,也有理由只把自我调优特性用作“牵引控制”或“稳定性辅助”,即,使用一个已经调优的配置进入生产,然后让自我调优功能帮助解决预生产调优中没有解决的特定情况。

  总而言之,autopilot利用大受欢迎的自我检测和自动优化功能使在生产中应用最广泛的weblogic版本――weblogic 8.1――如虎添翼。autopilotde的杰出之处在于它凝聚了多位专家多年的专业经验,它流线化根源分析和weblogic调优过程的方式,以及它为企业带来的明显的bea weblogic platform总体拥有成本节省。

扫描关注微信公众号