企业计算机应用系统可靠性测试技术研究

计算机应用技术论文 2019-06-02 点击:

摘 要:随着企业信息化进程的进一步发展,计算机应用系统的作用越发重要,如何保证应用系统的可靠性,需要从架构设计、代码开发、测试等多个方面进行考虑,而测试是应用系统可靠性最重要的检验手段之一。可靠性测试作为测试的一种,目的是对系统的可靠性进行验证,通过排除测试中发现的缺陷,降低系统异常发生时业务中断的次数。在过去的三十年里,国内外很多组织已对软件的可靠性进行了大量的研究,本文在此基础上,结合企业应用系统更加庞大和复杂的特点,进一步对企业应用系统的可靠性测试方法进行研究。
  关键词:计算机 应用系统;可靠性测试;双机热备;Oracle RAC;高可用性集群

  在计算机技术迅速发展的今天,企业计算机应用系统的规模不断扩大,功能不断增加,测试的难度进一步提高,系统的可靠性也更加难以评估。而应用系统失效有可能给企业造成巨大的经济损失,因此如何验证应用系统的可靠性,保障应用系统的稳定运行已越来越被开发人员、维护人员以及公司领导层所重视。本文首先从对企业计算机应用系统和可靠性测试的认识谈起,从三个角度对可靠性测试的重要性进行了分析。然后根据企业计算机应用系统的特点,分别对双机热备、Oracle RAC和集群三种高可用性模式的可靠性测试进行研究,提出了相关测试方法。
  计算机应用系统一般由计算机硬件、系统软件、应用软件组成。计算机基本硬件由运算器和控制器、存储器、外围接口和外围设备组成。系统软件包括操作系统、编译程序、数据库管理系统、各种高级语言等。应用软件由通用支援软件和各种应用软件包组成。企业计算机应用系统不仅包括计算机应用系统的基本属性,还具有系统架构复杂、数据量大、实时性要求高等特点。系统可靠性是指系统在规定的条件下和规定的时间内完成规定功能的能力。在此定义中,明确包含了以下三个要素:指系统的运行环境,涉及该系统运行时所需要的各种支持要素,如硬件环境、操作系统及其它软件。规定的条件主要是指系统运行时所处环境的配置情况以及对输入数据的要求,并假定其他一切因素都是理想的。
  系统可靠性体现在其运行阶段,一般采用“运行时间”作为“规定时间”的度量,“运行时间”指系统运行后工作与挂起的累计时间。系统可靠性还与规定的功能有关,由于要完成的任务不同,则调用的子模块就不同,其可靠性也就可能不同,所以要准确度量系统可靠性必须首先明确它的任务和功能。系统可靠性测试是指在预期的使用环境中,为检测系统缺陷、验证和评估系统是否达到用户的可靠性需求而进行的测试。通过可靠性测试可以达到以下目的:发现影响系统可靠性的缺陷:影响系统可靠性的因素主要包括相对不变的条件和相对变化的条件,相对不变的条件如硬件及基础软件,相对变化的条件是指输入的分布。可靠性测试一般先暴露发生概率高的缺陷,而高发生概率的缺陷是影响产品可靠性的主要缺陷,通过排除这些缺陷可有效增强应用系统的可靠性。
  验证系统可靠性是否满足用户要求:通过对可靠性测试中发现的系统失效情况进行分析,可以验证系统可靠性是否满足用户要求。预测系统可靠性水平:通过对可靠性测试中收集到的测试数据进行分析,可以评估当前应用系统可靠性的水平,预测未来可能达到的水平,从而为系统的优化提供数据参考。可靠性测试方法属于黑盒测试,因为它是面向需求、面向使用的测试,它不需要了解程序的结构以及如何实现等问题。企业计算机应用系统是由数据库、中间件、操作系统、存储、网络等一系列的模块组成,针对该类系统的可靠性测试主要是对各个模块的可靠性进行验证,本章节对双机热备、Oracle RAC以及集群三种高可用性模式的测试方法进行研究。
  双机热备技术是一种软硬件结合的高容错应用方案,该方案由两台服务器和一个外接共享磁盘阵列柜及相应的双机热备软件组成。操作系统和应用程序安装在两台服务器的本地系统盘上,数据通过磁盘阵列集中管理,通过双机热备系统,将所有站点的数据直接从中央存储设备读取和存储,极大地加强了数据的安全性和保密性。用户的数据存放在外接共享磁盘阵列中,当一台服务器出现故障时,备机主动替代主机工作,保证服务不间断。双机热备系统采用“心跳”方式保证主系统与备用系统的联系。所谓“心跳”,指主从系统之间相互按照一定的时间间隔发送通讯信号,表明各自系统当前的运行状态。一旦“心跳”信号停止或备用系统无法收到主机系统的“心跳”信号,则系统的高可用性管理软件认为主机系统发生故障,主机停止工作,并将系统资源转移到备用系统上,备用系统将替代主机发挥作用,以保证业务的连续性。
  双机热备可靠性测试即通过测试的手段验证日常交易量下以双机模式部署的系统异常发生时的自我恢复能力。图1为典型的三层架构应用系统,两台应用服务器以双机热备的模式进行部署,其中AP1为主机,AP2为备机,以下测试方法模拟正常切换、宕机和网络异常三种情况用以验证系统的可靠性。按照日常交易量对应用系统施压,平稳运行5分钟,在AP1上执行Take Over操作,平稳运行5分钟,验证AP2能否接管AP1的交易以及是否出现业务中断;在AP2执行Take Over操作,验证节点回切是否成功。宕机:按照日常交易量对应用系统施压,平稳运行5分钟,在AP1上执行Halt !q操作,平稳运行5分钟,验证AP2能否接管AP1的交易以及是否出现业务中断;启动AP1主机,验证节点回切是否成功。 网络异常:按照日常交易量对应用系统施压,平稳运行5分钟,在AP1上执行宕网卡操作,平稳运行5分钟, 验证AP2能否接管AP1的交易以及是否出现业务中断;恢复AP1网络,验证节点回切是否成功。高可用性集群,英文原文为HighAvailability Cluster, 简称HA Cluster,是指以减少服务中断(宕机)时间为目的的服务器集群技术。集群是作为一个整体向用户提供服务的一组计算机,单个计算机是集群的节点。高可用集群不是用来保护业务数据的,保护的是用户的业务程序对外不间断提供服务,把因软件/硬件/人为造成的故障对业务的影响降低到最小程度。对于高可用性集群,有以下三种类型:
  主/主:最常用的集群模型,该模型允许最大程度的利用硬件资源。每个节点通过网络对客户机提供服务,节点的容量被定义好,使得性能达到最优,并且在故障发生时每个节点可临时接管另一个节点的工作,使得所有的服务在故障发生后仍保持可用,但是性能通常会下降。主/从:为提供最大的可用性以及对性能最小的影响,“主/从”模式将节点分为主节点和备用节点,主节点处理客户机的请求,备用节点处于空闲状态,当主节点出现故障时,备用节点接管主节点的工作,继续为客户机提供服务,该模式不会影响服务器的性能但存在硬件冗余。混合型:混合型是上面两种模式的结合,只针对关键应用进行故障转移,故障发生时,故障服务器上的非关键应用将不可用,但是关键应用会转移到另一个可用节点,从而达到性能和容错两方面的平衡。
  集群的可靠性测试即验证集群中某一节点出现故障时,其它节点是否能将服务接管保证业务的不间断。图3应用服务器有三个节点以集群的方式部署,以下测试方法模拟服务正常关闭、服务进程异常关闭、网络异常三种情况用以验证集群的可靠性。压,平稳运行5分钟,通过正常方式停掉AP2上的应用服务,验证交易的变化情况,平稳运行5分钟,重启AP2上的应用服务,验证AP2是否恢复了交易处理,各项指标是否恢复到异常之前的状态。平稳运行5分钟,通过Kill -9 的方式杀掉AP2上的应用服务进程,验证交易的变化情况,平稳运行5分钟,重启AP2上的应用服务,验证AP2是否恢复了交易处理,各项指标是否恢复到异常之前的状态。压,平稳运行5分钟,断掉AP2的网线,验证交易的变化情况,平稳运行5分钟,插上AP2的网线,验证AP2是否恢复了交易处理,各项指标是否恢复到异常之前的状态。测试关注点集群的可靠性测试,主要关注以下几点:集群中一个节点出现故障时,系统是否有业务中断情况出现;当故障节点修复后,加入集群,是否需要重启系统;当故障节点修复后,加入集群,系统是否有业务中断情况出现;节点切换时间。
  可靠性测试是面向故障的测试,通过模拟故障验证系统在异常情况发生时的自我恢复能力,确定系统在风险限度之内的可接受程度。可靠性测试可以根据用户给定的可靠性要求确定测试方案,生成测试用例,进而进行可靠性验证测试。通过可靠性测试,不仅可以验证系统可靠性是否满足用户需求,而且可以预测系统未来可能达到的可靠性水平,从而为系统开发及其管理提供决策依据。对于复杂的企业计算机应用系统,可靠性测试是其高可用性保障的一种手段,为保证业务的连续性,还需针对可能出现的故障制定有效的维护和管理机制,做好备份,及时发现问题,保证生产的稳定运行。

企业计算机应用系统可靠性测试技术研究

http://m.rjdtv.com/jisuanjilunwen/8.html

相关推荐

猜你喜欢

大家正在看