对web站点性能测试,从测试工具的角度,介绍几点经验。
1、在执行客户端并发性能测试的过程中,需要同时监控数据库服务器、web服务器以及网络资源等使用情况,以便对系统的性能做全面评估。
2、录制的脚本需要编辑,有时需要手工编写脚本。尽可能去录制脚本,然后在其基础上编辑脚本。手工编写脚本需要注意既能模拟负载压力,又符合脚本的后台处理方式。
3、设置数据池,实现变量替换常量(参数化)。为了真实模拟负载,数据池是经常使用的有效手段。
4、利用动态数据处理技术(关联)。对某些动态值,每次执行它都在变化,如果不加处理,往往导致负载测试失败。
5、设置并发集合点。在脚本中设置并发集合点,可以将录制的完整操作过程分解为一个个小的并发交易。
6、混合业务批量执行。单独的业务并发操作,有可能会忽略资源争用、锁冲突等问题,在web站点负载压力测试方案中,一定要考虑多种业务混合执行,并发性能测试。
7、模拟用户数的递增递减。我们知道在真实的情况下,高峰期负载压力的到来是循序渐进的过程,同样的道理,高峰期的结束也有一个过程。在工具中我们使用虚拟用户数的递增与递减来模拟这种情况。
8、合理设置交易之间的时间间隔(思考时间)。交易之间的时间间隔代表了负载程度的高低,为了模拟不同的负载,经常需要调整此时间间隔。
9、模拟IP地址变量的技术(IP欺骗)。并发访问需求量不大的系统,每个不同的虚拟用户使用不同的IP地址访问服务器是非常有必要的。
10、超时的设置。这项设置与系统web服务器、数据库服务器、中间件服务器等超时设置有关,建议工具的设置值大于等于系统服务器的设置值。此值如果设置不合适,可能会使负载压力测试过程报错,并且这个错误是由测试工具本身导致的。
11、并发用户连续执行交易数的设置。每个虚拟用户在并发时,串行循环执行的交易数建议设置为3-5个。
12、错误跟踪。测试期间的报错是故障定位的主要依据,应分清错误的来源,包括服务器端错误、客户端错误以及网络错误。
13、尽量将执行负载测试的机器合理分布。将负载生成器布置在不同的网段,有利于模拟来自不同用户群的负载。
14、并发用户数量极限点。压力测试的目的是测试系统能支持的最大并发用户数。
15、负载生成器的资源使用率也有必要监控。负载生成器的资源使用超出范围,导致模拟客户端并发请求失败。
16、工具参数的配置。不同的参数配置有可能会导致测试失效,也有可能产生不同的测试结果。根据实际负载压力需求正确地配置参数,就可以保证达到真实地模拟负载,并得出正确的测试结果。