当前位置: 首页 > 科技观察

服务器稳定性测试方法

时间:2023-03-16 19:13:34 科技观察

服务器稳定性是软件测试中最重要的。如果稳定性不能满足业务运行的需要,再高的性能也是白搭。正规的服务器厂商都会测试其产品在不同温度和湿度下的稳定性。关键要考虑的是冗余功能,比如:数据冗余、网卡冗余、电源冗余、风扇冗余等。一些服务器的稳定性测试方法主要有以下几种:压力测试:知道高峰期的用户数系统周期,验证在最大并发数(按高峰期人数换算)下,每笔交易的交易响应时间是否满足客户要求。系统各项性能指标在此压力下是否仍在正常值范围内。系统是否会因为这种压力而引起不良反应(如:宕机、应用异常终止等)。RampUp增量设计:如果有75个并发用户,1500个系统注册用户,并发用户数取5%-7%作为参考值。一般加压设计按每15s加载5人进行。该值主要是指测试稳压器的性能。建议多运行几次。实际加载方式是通过交易通过率和错误率来衡量的。RampUp增量设计目标:找到增量加压系统的性能瓶颈,抓住性能拐点的机会,一般参考Hits点击率和吞吐量、CPU、内存占用等综合判断。模拟高峰时段的用户数,比如早上登录,下班后注销,发工资时的消息系统等。另一种限制模拟方法可以看成是同时点击交易操作的系统限制操作指标峰值压力条件。加压方式不变,在每个脚本交易点中设置相同的集合点名称(例如:lr_rendzvous("same");)在场景设计中,使用交易点收集策略。以同时达到集合点百分比为标准,同时释放所有正在运行的Vuser。稳定性测试:了解系统高峰期的用户数,每笔交易的操作频率等。设计综合测试场景,测试时按一定比例的人运行每个场景,模拟用户情况使用它好几年了。并在测试过程中监测系统的性能指标能否在此压力下保持正常值。事务响应时间是随测试时间波动还是增加。测试期间系统是否会出现宕机、应用暂停等异常情况。根据上述测试,在稳定性测试中,以各交易条件下性能拐点的位置来确定并发用户数。根据实际测试服务器(加压器、应用服务器、数据服务器三方性能),估算最终并发用户数。也可以通过以下方式测试服务器,验证服务器是否具备各种特殊情况下的自动处理机制:1、容错测试模拟一些异常情况(如:服务器突然断电、网络断断续续、服务器硬盘空间等)不足等),验证系统是否有自动处理机制来保证系统的正常运行或出现这些情况时恢复运行的措施。如果有HA(AutomaticDisasterRecoverySystem),可以专门针对这些自动保护系统进行额外的测试,验证它们是否能够有效触发保护措施。2问题排除测试根据原始案例或经验判断,对系统中出现过问题或疑似存在隐患的模块进行验证测试,验证这些模块是否会出现相同的性能问题。例如:上传附件模块的内存泄漏、通讯录模块的优化、启用Tivoli性能监控对OA系统性能的影响等。评估测试是获取关键性能指标的相关测试系统的要点。主要是事先没有明确预期的测试结果,而是通过测试获得特定压力场景下的性能指标(如:事务响应时间、最大并发用户数等)。测量事务响应时间:为获得特定压力下事务的响应时间而执行的测试活动。通过模拟已知客户高峰期的压力值或预期的压力值,可以得到交易在这种压力下的响应时间。评估交易的最大并发用户数:一种测试活动,以获取特定系统环境下交易可以承受的最大并发用户数。通过模拟真实环境或直接采用真实环境,评估企业在此环境下所能承受的最大并发用户数。需要提前定义判断标准阈值(如响应时间、CPU使用率、内存使用率、峰值点击率、峰值吞吐量等)。评估系统的最大并发用户数:为获得整个系统能够承受的最大并发用户数而进行的测试活动。通过提前分析项目各主要模块的使用比例和频率,定义每笔交易在综合场景中的占比,按比例分配每笔交易的并发用户数。模拟真实环境或直接采用真实环境来评估系统在此环境下所能承受的最大并发用户数。预定义判断标准阈值(如响应时间、CPU使用率、内存使用率、点击率峰值、吞吐量峰值等)。价值标准服从桶规则(并发数最小的事务为整个系统的并发数)。评估不同数据库数据量对性能的影响:比较不同数据库数据量测试的测试结果,分析数据库中各表的数据量对事务性能的影响。可以预判系统运行时间长后,或某些模块客户需要大量数据时可能存在的隐患。通过上述测试或用户实际操作发现或怀疑存在系统性能问题,需要通过相应的测试场景重现或定义问题。如果可能,直接转到导致性能问题的代码或模块。此类测试主要是通过测试有问题的脚本场景,可以增加发现和检测工具,比如开启Tivoli性能监控、开启HeapDump输出、Linux资源监控命令等,辅以运行过程中的手动测试设想。