


已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
J2EE 应用服务器的软件老化和恢复J2EE 应用服务器的软件老化和恢复 近年来,软件老化和恢复在工业领域和学术领域被广泛的研究,软件老化的特点是先进的性能退化或者长期运行的软件系统突然停止导致操作系统的资源枯竭。软件恢复是一项主动性的和预防性的再次连接软件的恢复技术。在这个工作中,首先分析Java虚拟机的内存泄漏(JVM),然后检查J2EE应用程序软件老化现象。为了缓和软件老化的影响和防止系统失败,通过分层局部的或者全局的重启系统软件恢复方法。最后,实验结果证明计划的方法比周期恢复的方法优越。版权 2014年约翰威利& Sons有限公司1 介绍可靠的报告报导在一个长期运行的软件系统里软件老化现象,系统性能随着时间逐渐衰退甚至突然导致故障。在安全系统里软件老化会导致巨大的损失,包括失去人类的生命。内存泄漏和存储残片,操作系统资源枯竭和数值四舍五入错误是导致软件老化的重要原因。除了例如系统重启这样的反应式方法,阻碍软件老化的预防性恢复技术是软件恢复。包含临时停止软件系统,消除错误情况然后在一个干净的环境里重启系统。这个方法比进程消除累积错误还要高明,并且释放系统资源,除此之外还可以改善系统的重用性和可用性,推迟或者预防无计划的昂贵的未来系统故障。目前软件老化现象在许多系统已经被广泛的观察和注意到。Garg等人,第一个提议基于测量的方法去估计软件老化,在一个网络化的UNIX(一种多用户的计算机操作系统)工作站通过设计和实施一个基于snmp(简单网络管理协议)的分散监控工具去收集操作系统资源使用和系统活跃数据。Cassidy等人。在一个大型OLTP DBMS服务器里采用统计学模式识别法去检查软件老化。Grottke等人。在一个Apache web服务器采用非参数统计分析方法估计(软件)老化趋势。通过收集的数据交换使用空间、响应时间和空闲物理内存。Cotroneo等人。再Sun Hotspot JVM里通过采用参数和非参数统计技术来分析吞吐量损失的趋势和记忆损耗来显示了软件老化的存在。Alonso和Torres提出了一种基于在一个web应用程序面向方面编程监控资源每个组件的使用的监测框架,因此决定出哪一个组件和软件老化有关系。在云计算基础设施研究软件老化影响,虚拟和常驻内存用法都是被监控的。RAM(随机访问内存)内存耗尽、交换内存消耗、相应时间随后的增加都被检测到。软件恢复的重大问题之一是何时去触发它,导致其工作线程的消耗。两种主要的方法去确定软件恢复花费时间是基于模型方法和基于测量方法。基于模型方法通过分析软件系统和系统故障分布假设的状态关系决定最优再生时机。大多数研究只考虑OS(操作系统)级别的恢复。Xie等人,提出了一个有趣的两级恢复策略就是全部重启和部分重启。来自硬件预防性维护的灵感,Koutras和Platis在客户端/服务器系统里提出了一个最小的和完美的软件恢复技术。最小的恢复技术事停止系统服务、保存任何必要的而数据和重新开始系统到一个可使用的状态。完美的软件恢复技术包含关掉操作系统,为了释放资源,连同所有的正在运行的应用也关掉。Ning等人,连续时间使用马尔可夫链的方法去学习一个多粒度的软件恢复政策,并且可用性最大化和成本最小化获得最佳的检查速率和缓和期。在一个基于测量方法关于资源使用(比如,释放物理内存和交换使用空间)和性能(比如,相应时间和吞吐率)的系统数据,是监控找到软件老化的一个重要趋势,因此决定软件恢复的触发条件。Jia 等人,他们学习软件老化影响和在一些不同的性能指标(例如相应时间、物理内存、交换空间)之间的联系,然后估计在一个简单的使用主成分分析的参数中软件老化的影响。Matias等人,探讨操作系统内核仪器技术测量软件老化效应相关的记忆问题,特别是内存泄漏和记忆碎片。这项工作是更好的理解软件老化现象非常重要的一步。Avritzer等人,提出了几个软件老化的检测方法和基于测量软件恢复算法随着响应时间的变化。Alonso等人,提出了一个不同的恢复策略的涵盖了五个恢复层次比较实验研究:应用粒度、粒度操作系统、虚拟机的粒度, 和物理机的粒度。实验结果表明不同层次的恢复策略处理不同的软件老化影响,并产生了不同的成本。所以悬着适当的恢复策略去减轻软件老化的影响在不同的的层次是非常重要的。J2EE(JAVA平台环境)应用服务器是Web应用程序的一个流行的服务器端解决方案。它提供了高度声明式设计、部署模型和各种软件组件为了简化复杂应用程序的开发。一个长时间运行的J2EE应用程序服务器可能累积内存泄漏引起一些变量声明缺乏或者类似的软件故障,导致物理内存不能用。通常情况下,软件故障应该是在测试过程中删除。但是,即使软件可能被彻底的进行测试,仍然会有一些设计错误在实践中尚未暴露。本文中,首先分析了在JVM里内存泄漏和垃圾回收机制有联系,然后在J2EE应用服务器里使用一个简单的方法去检测软件老化去证明通过JVM堆内存使用的数据和CPU使用数据。此外,分层的软件恢复方法提出了阻碍软件老化。最后,实验结果显示这个恢复方法是有效的。2 J2EE应用程序服务器的体系结构应用服务器是一种独立于软件系统或者提供了计算的管理资源和网络通信的服务程序。他掩饰底层网络和操作系统之间的复杂性和异构性,所以整个系统给对于客户是透明的。图1展示了J2EE 应用服务器的架构,通过负载均衡理论,负载分配器分散客户端请求HTTP服务器到J2EE应用服务器。其后,应用服务器连接和查询数据库服务器通过Java数据库连接技术,然后把结果返回给客户端。图2.1 体系结构图3 JVM中的内存泄漏在长期运行的软件系统里内存泄漏会严重影响系统的性能和可靠性,并且经常是软件老化起作用的因素。程序员不正确的使用软件管理习惯(比如,不均衡的使用内存在C盘program)经常导致内存泄漏。关于JAVA程序,尽管在JVM的有垃圾回收机制,在JAVA应用里内存泄漏仍然存在。下文中,首先介绍JVM的内存管理和垃圾回收机制是分析内存泄漏问题。JVM的存储区也叫作数据运行区,负责储存数据(例如,字节码,对象和参数)和当JVM里的程序运行时返回值、本地变量和中间结果。JVM的内存泄漏可以分为面积法、堆内存堆栈、寄存器堆栈和本地代码。其中,在运行的JAVA应用里堆内存用来存储一个类的实例或者数组的实例。内存管理本质上是需要提供动态方法去响应程序当它请求时,然后释放它们当它们长时间不需要,这样可以重新使用。JVM内存管理对一个新对象提供内存分配的指令,但是不支持指令的内存释放,这个是垃圾回收机制实现的。当JVM内存随着时间被连续不断的使用并且达到最大,垃圾回收机制会自动启动并释放内存。然而,如图二所示,垃圾回收机制只能回收无用的并且未被引用对象,而无用的但被引用的对象不能从内存区域被释放,因此产生内存泄漏。与此同时,系统资源有限并且垃圾回收机制会占用了大量的CPU时间去释放内存和系统资源。因此,连续出现内存泄漏现象的累积影响会直接导致内存不足和老化导致的系统故障。4 J2EE应用服务器里老化现象的检测和分析检测和减轻软件老化现象的本质是当系统出现软件老化现象时达到高度的可靠性和可用性。然而,软件老化现象可能在系统长期运行后才被发现到。因此,我们在J2EE应用服务器里检测老化现象通过一个加速老化测试。4.1 实验环境正文省略图4.1 jvm图图4.2 分布图4.2 老化测试和分析 正文省略5 分层软件恢复管理机制为了减轻在J2EE应用服务器里的软件老化,我们采取分层软件恢复技术去主动地和预防地重启全局或者局部系统在它发生故障前,这样可以避免巨大的损失。图5.1 数据图图5.2 数据图5.1 基本想法正文省略图5.3 流程图5.2 分层软件恢复方法正文省略图 5.4 流程图5.3 评估分层软件恢复方法正文省略图5.5 数据图图5.6 柱状图6 结论和未来工作软件系统的老化(现象),就和人类身体一样,是一个累积的过程。在一个长期直接运行的应用程序服务器里内存泄漏连续出现的累积现象导致老化带来的故障或崩溃。尽管垃圾回收机制可以被当做一个特殊的JAVA函数去自动释放对象,内存泄漏的问题仍然存在于JAVA应用里。本文中,我们在J2EE应用服务器里研究软件老化现象。通过收集和分析JVM堆内存使用和CPU利用率的数据,在J2EE应用服务器里软件老化现象证明它性能逐渐退化。而且,为了减轻老化现象和改善系统的性能和可用性,(我们)提出分层的软件恢复方法。最后,实验结果表明(分层的软件恢复方法)在处
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 钢结构施工安全保障方案
- 地方应用型高校工程人才培养模式的探讨
- 专业消毒员考试题及答案
- 四川烟草专业试题及答案
- 2025年新能源行业绿色信贷发展报告:企业研发投入的关键指标
- DB65T 4456-2021 知识产权纠纷调解服务规范
- 医学免疫学与微生物学试题及答案
- 酬乐天中考试题及答案
- 饮食类知识竞赛题及答案
- 池州保安考试题库及答案
- 2025年公安系统公务员公开遴选笔试全真模拟题
- 烷烃的命名教学课件
- 2025秋人教版(PEP)(2024)一年级上册英语教学计划
- 农产品产地加工增值服务创新创业项目商业计划书
- 出租车安全驾驶培训课件
- 2025内蒙古民族大学招聘管理助理、教学助理50人笔试备考试题及答案解析
- 2025年河北机关事业单位工人技能等级考试(畜禽饲养繁殖工·高级)历年参考题库含答案详解(5卷)
- 2025年度安徽省考评员培训考试题(附答案)
- 国防科技课件
- 公证业务知识培训课件
- DB15T 1795-2020 玉米机械直收籽粒测产技术规程
评论
0/150
提交评论