论文部分内容阅读
“软件老化(Software Aging)”现象是指软件长时间运行时,由于计算机资源的消耗而造成的软件性能逐渐下降的现象。这种现象通常出现在服务器等需要7x24小时不间断运行的软件上,可能造成服务器软件服务能力的下降甚至服务器失效宕机。针对这种现象,学者提出了一种称作“软件再生(Software Rejuvenation)”的方法,也就是通过定期地重新启动服务器,重新初始化服务器的内部状态,释放可能造成老化的系统资源,从而避免或减少性能下降甚至被动宕机造成的损失。内存泄漏是造成软件老化的一个重要原因,因此本文搭建了一个引入内存泄漏的软件老化测试平台,服务器端使用符合TPC-W基准测试标准的在线售书网站,客户端使用模拟浏览器模拟真实客户的访问,来研究内存泄漏引起的软件老化现象。利用这个平台,本文使用加速寿命测试(Accelerated Life Testing,ALT)方法,由加速测试实验结果估计非加速情况下软件的寿命,大大减少了软件老化的测试时间。如果使用实验手段验证得到的最优再生时间间隔,会由于实验耗时过长而实际上不可行,因此本文开发了一个上述实验平台的离散事件仿真程序,并利用仿真的方法,验证了加速寿命测试得到的软件寿命的概率分布,结果表明,加速寿命测试理论得到的软件寿命结果与仿真结果能够互相验证。最后,本文在仿真程序中加入软件再生机制,仿真得到了被测试系统在几个不同的再生时间间隔下的可用性。