[机柜]软件测试中服务器稳定性测试方法

来源: 作者: 发布时间:2022-01-02 10:18:51

服务器稳定性是最重要的。如果业务运行的需求不能保证稳定性,无论性能有多高都是无用的。常规服务器制造商将在不同温度和湿度下测试产品的运行稳定性。重点是冗余功能,如数据冗余、网卡冗余、电源冗余、风扇冗余等。

以下是一些服务器稳定性测试方法:

压力测试:

已知系统高峰期的用户数量,验证每个事务的响应时间是否能在最大并发数(通过高峰期的数量转换)下满足客户要求。在这种压力下,系统的性能指标是否仍在正常值内。系统是否会因此类压力(如停机、异常应用暂停等)而引起不良反应。

#

如果并发用户为75人,系统注册用户为1500人,并发用户参考值为5%-7%。增压设计一般采用每15s加载5人的方式进行,主要参考加压机性能的测试,建议Run多次。实际加载模式以事务通过率和错误率来衡量。

#

寻找增量模式来压制系统的性能瓶颈位置,抓住性能拐点的机会参考Hits点击率和吞吐量、CPU、内存使用综合判断。模拟高峰用户数量,如早上登录、下班后退出、工资发送时的消息系统等。

另一种极限模拟方法可视为在峰值压力下同时点击事务操作的系统极限操作指标。压力模式保持不变。在每个脚本事务点设置相同的集合点名称(如:lr_rendzvous(“same”);)在场景设计中,使用事务点集合策略。以同时达到集合点百分比为标准,释放所有在Run中的Vuser。

稳定性测试:

已知系统高峰期的用户数量、每个事务的操作频率等。设计一个综合测试场景,将每个场景按一定数量的比例运行,模拟用户使用多年。并监控系统的性能指标是否能在这种压力下保持正常值。随着测试时间的增加,事务响应时间是否会波动或增加。该系统是否会在测试过程中出现停机、应用暂停等异常情况。

根据上述测试,确定稳定性测试并发用户数量。根据实际测试服务器(加压器、应用服务器、数据服务器三方性能),估计并发用户数量。

还可以通过以下方式测试服务器,验证服务器在各种特殊情况下是否有自动处理机制:

11容错性测试

通过模拟一些异常情况(如服务器突然断电、网络断断续续、服务器硬盘空间不足等),验证系统是否有自动处理机制,以确保系统的正常运行或恢复运行措施。如果有HA(自动灾害容量系统),也可以对这些自动保护系统进行其他测试,以验证其是否能有效地触发保护措施。

问题排除性测试

通过原始案例或经验判断,验证和测试系统中存在问题或疑似隐患的模块,以验证这些模块是否会出现相同的性能问题。例如:上传附件模块的内存泄漏、优化地址模块、打开Tivoli性能监控对OA系统性能的影响等。

评估测试是一种用于获取系统关键性能指标点的相关测试。主要是为了获得特定压力场景下的性能指标(如:事务响应时间、最大并发用户数量等)。评估事务响应时间:在特定压力下获得事务响应时间的测试活动。通过模拟已知客户高峰期的压力值或预期的压力值,获得该压力下事务的响应时间。评估事务的最大并发用户数量:为在特定系统环境下获得事务所能承受的最大并发用户数量而进行的测试活动。通过模拟真实环境或直接使用真实环境,评估该环境下事务所能承受的最大并发用户数量。确定标准阈值需要提前定义(如响应时间、CPU占用率、内存占用率、点击率峰值、吞吐量峰值等)。评估系统的最大并发用户数量,以获得真实环境中所能承受的最大并发用户数量。确定标准阈值,并发用户数量(如响应时间、CPU占用率、点击率峰值、吞吐量峰值等)。评估该系统在这种环境下能够承受的最大并发用户数量。确定标准值的预定义(如响应室、CPU占用率、内存占用率、点击率峰值、数量峰值等)。值标准以桶法则为准(并发数最小的事务为整个系统的并发数),测量不同数据库数据量对性能的影响:对于不同数据量的测试,比较测试结果,分析数据库各表的数据量交易性能。系统长时间运行后,需要预测数据量或一些模型客户。

通过上述测试或用户的实际操作,发现系统中的性能问题或怀疑存在的性能问题,需要通过响应的测试场景重现或定义问题。如有可能,可以直接找到导致性能问题的代码或模块。这种测试主要是通过测试脚本场景,并可以添加发现和测试工具,如打开Tivoli性能监控、打开HeapDump输出、Linux资源监控命令等,并在场景操作过程中辅以手动测试。