服务器的稳定性是最重要的,如果稳定性不能保证业务运行的需要,无论性能有多高都是无用的。一些服务器稳定性测试方法主要有以下几种:
压力测试:
众所周知,系统高峰期的用户数可以验证每个事务的事务响应时间是否能够满足客户对最大并发数的要求(通过峰值数转换)。在这种压力下,系统的性能指标是否仍在正常值范围内。系统是否会因此类压力而引起不良反应(如:宕机,异常应用等)。
Ramp up增量设计:实际加载模式是通过事务通过率和错误率来衡量的。
Ramp Up增量设计目标:
找出增压系统性能瓶颈的位置,抓住性能拐点出现的时机,一般指点击率和吞吐量、CPU、内存使用的综合判断。模拟高峰使用情况,如早上登录、下班后退出、发薪时信息系统等。
另一种极限仿真方法可以看作是在峰值压力下同时单击事务操作的系统极限操作指标。压缩方法不变,在每个脚本事务点(如:lr_rendzvous(“same“);)中设置相同的集合点名称,在场景设计中,使用事务点集合策略。标准是同时达到集合点的百分比,同时释放所有在运行的vuser。
稳定性测试:
已知系统的高峰期中的用户数,每个交易的频率等。设计全面的测试场景。在测试时,每个场景将根据一定数量的人一起运行,模拟用户使用数年的情况。并且在测试期间监控系统的性能指标是否能够在这样的压力下保持正常值。交易响应时间是否随测试时间而波动或增加,在测试期间系统是否会出现停机,应用程序中止等异常情况。
根据上述测试,性能拐点的位置出现在每个事务条件下,以确定稳定性测试的并发用户数。根据实际测试服务器(压缩器,应用程序服务器,数据服务器性能)估算最终并发用户数。
您还可以通过以下方式测试服务器,以验证服务器在各种特殊情况下是否具有自动处理机制:
1容错性测试
通过模拟一些异常情况(如服务器突然断电,网络中断,服务器硬盘空间不足等),验证系统是否具有自动处理机制,以确保在发生这些情况时系统正常运行或恢复运行。 。如果HA(自动灾难恢复系统)可用,则可以专门为这些自动保护系统执行其他测试,以验证它们是否可以有效地触发保护措施。
2问题排除性测试
通过原案例或经验判断,对系统中存在问题或疑似隐患的模块进行验证测试,验证这些模块是否还会发生相同的性能问题。例如,上传附件模块的内存泄漏问题,地址本模块的优化,打开Tivoli性能监控对OA系统性能的影响等。
评价测试是用来获得系统关键性能指标点的相关测试。它主要针对的是事先没有明确的预期测试结果,但需要通过测试(如事务响应时间、最大并发用户数等)来获得特定压力场景下的性能指标。
评估事务响应时间:执行测试活动以获取特定压力下事务的响应时间。通过模拟已知客户峰值的压力值或预期压力值来获得在这种压力下的交易的响应时间。
评估事务的最大并发用户数:一个测试活动,以获得事务在特定系统环境中可以承受的最大并发用户数。通过模拟真实环境或直接使用真实环境,评估了企业在这种环境下能够承受的最大并发用户数。标准阈值需要预先定义(例如,响应时间、CPU使用率、内存使用率、峰值点击率、峰值吞吐量等)。
评估系统的最大并发用户数:测试活动以获得整个系统所能承受的最大并发用户数。通过预先分析项目各主要模块的使用率和频率,定义了集成场景中事务的比例,并以比例方式分配每个事务的并发用户的数量。模拟真实环境或直接利用真实环境来评估系统在这种环境下能够承受的并发用户的最大数量。预先确定标准阈值(如响应间,CPU占用率,内存占用率,已出现点击率峰值,已出现吞吐量峰值等)。取值标准基于桶规则(最小并发事务是整个系统的并发数)。
评估不同数据库数据量对性能的影响:对于不同数据库数据量的测试,比较测试结果,并分析数据库中每个表的数据量对事务性能的影响。可以预先确定系统长时间运行后或某些模块需要大量数据时可能存在的隐患。
通过以上测试或用户实际操作,发现或怀疑系统中存在性能问题,需要通过响应测试场景进行重现或定义。如果可能,可以直接识别导致性能问题的代码或模块。这种测试主要是通过测试脚本场景中出现问题的场景,可以添加发现和检测工具,如打开Tivoli性能监控、打开HeapDump输出、Linux资源监控命令等,并在场景运行过程中进行手动测试的协助。