欢迎来到天天文库
浏览记录
ID:27535356
大小:419.50 KB
页数:10页
时间:2018-12-04
《J2EE 应用服务器的软件老化和恢复》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、J2EE应用服务器的软件老化和恢复J2EE应用服务器的软件老化和恢复近年来,软件老化和恢复在工业领域和学术领域被广泛的研究,软件老化的特点是先进的性能退化或者长期运行的软件系统突然停止导致操作系统的资源枯竭。软件恢复是一项主动性的和预防性的再次连接软件的恢复技术。在这个工作中,首先分析Java虚拟机的内存泄漏(JVM),然后检查J2EE应用程序软件老化现象。为了缓和软件老化的影响和防止系统失败,通过分层局部的或者全局的重启系统软件恢复方法。最后,实验结果证明计划的方法比周期恢复的方法优越。版权2014年约翰·威利&Sons有限公司1介绍可靠的报告报导在一个长期运行的软件系统里软件老
2、化现象,系统性能随着时间逐渐衰退甚至突然导致故障。在安全系统里软件老化会导致巨大的损失,包括失去人类的生命。内存泄漏和存储残片,操作系统资源枯竭和数值四舍五入错误是导致软件老化的重要原因。除了例如系统重启这样的反应式方法,阻碍软件老化的预防性恢复技术是软件恢复。包含临时停止软件系统,消除错误情况然后在一个干净的环境里重启系统。这个方法比进程消除累积错误还要高明,并且释放系统资源,除此之外还可以改善系统的重用性和可用性,推迟或者预防无计划的昂贵的未来系统故障。目前软件老化现象在许多系统已经被广泛的观察和注意到。Garg等人,第一个提议基于测量的方法去估计软件老化,在一个网络化的UNI
3、X(一种多用户的计算机操作系统)工作站通过设计和实施一个基于snmp(简单网络管理协议)的分散监控工具去收集操作系统资源使用和系统活跃数据。Cassidy等人。在一个大型OLTPDBMS服务器里采用统计学模式识别法去检查软件老化。Grottke等人。在一个Apacheweb服务器采用非参数统计分析方法估计(软件)老化趋势。通过收集的数据交换使用空间、响应时间和空闲物理内存。Cotroneo等人。再SunHotspot8J2EE应用服务器的软件老化和恢复JVM里通过采用参数和非参数统计技术来分析吞吐量损失的趋势和记忆损耗来显示了软件老化的存在。Alonso和Torres提出了一种基于
4、在一个web应用程序面向方面编程监控资源每个组件的使用的监测框架,因此决定出哪一个组件和软件老化有关系。在云计算基础设施研究软件老化影响,虚拟和常驻内存用法都是被监控的。RAM(随机访问内存)内存耗尽、交换内存消耗、相应时间随后的增加都被检测到。软件恢复的重大问题之一是何时去触发它,导致其工作线程的消耗。两种主要的方法去确定软件恢复花费时间是基于模型方法和基于测量方法。基于模型方法通过分析软件系统和系统故障分布假设的状态关系决定最优再生时机。大多数研究只考虑OS(操作系统)级别的恢复。Xie等人,提出了一个有趣的两级恢复策略就是全部重启和部分重启。来自硬件预防性维护的灵感,Kout
5、ras和Platis在客户端/服务器系统里提出了一个最小的和完美的软件恢复技术。最小的恢复技术事停止系统服务、保存任何必要的而数据和重新开始系统到一个可使用的状态。完美的软件恢复技术包含关掉操作系统,为了释放资源,连同所有的正在运行的应用也关掉。Ning等人,连续时间使用马尔可夫链的方法去学习一个多粒度的软件恢复政策,并且可用性最大化和成本最小化获得最佳的检查速率和缓和期。在一个基于测量方法关于资源使用(比如,释放物理内存和交换使用空间)和性能(比如,相应时间和吞吐率)的系统数据,是监控找到软件老化的一个重要趋势,因此决定软件恢复的触发条件。Jia等人,他们学习软件老化影响和在一些
6、不同的性能指标(例如相应时间、物理内存、交换空间)之间的联系,然后估计在一个简单的使用主成分分析的参数中软件老化的影响。Matias等人,探讨操作系统内核仪器技术测量软件老化效应相关的记忆问题,特别是内存泄漏和记忆碎片。这项工作是更好的理解软件老化现象非常重要的一步。Avritzer等人,提出了几个软件老化的检测方法和基于测量软件恢复算法随着响应时间的变化。Alonso等人,提出了一个不同的恢复策略的涵盖了五个恢复层次比较实验研究:应用粒度、粒度操作系统、虚拟机的粒度,和物理机的粒度。实验结果表明不同层次的恢复策略处理不同的软件老化影响,并产生了不同的成本。所以悬着适当的恢复策略去
7、减轻软件老化的影响在不同的的层次是非常重要的。8J2EE应用服务器的软件老化和恢复J2EE(JAVA平台环境)应用服务器是Web应用程序的一个流行的服务器端解决方案。它提供了高度声明式设计、部署模型和各种软件组件为了简化复杂应用程序的开发。一个长时间运行的J2EE应用程序服务器可能累积内存泄漏引起一些变量声明缺乏或者类似的软件故障,导致物理内存不能用。通常情况下,软件故障应该是在测试过程中删除。但是,即使软件可能被彻底的进行测试,仍然会有一些设计错误在实践中尚未暴露。
此文档下载收益归作者所有