版权声明:本文为原创文章,转载请先联系并标明出处
性能测试中,我们可以模拟最真实的用户操作来建立性能模型,但是这种模拟是相对的。譬如12306网站春运开始后每一天都是高峰,这种高负载情况会持续一至两个月。我们在测试的时候是不可能一次测试也运行这么长时间,等运行一两个月再看结果,黄花菜都凉了。再者,我们也不可能模拟所有的用户操作,那样性能测试脚本的设计工作就没有边界了。根据80-20原则,我们应该把80%的精力放在20%最关键的功能上,所以我们一般都选择其中最核心、使用频率最高、性能敏感度最高的功能来代替系统中所有的功能操作。
像以上这两种情况,我们要模拟用户操作的话,就要在时间上进行压缩、在内容上进行抽象。在压缩抽象后,为了让我们建立的性能负载模型能更接近所测系统在现实世界的负载模型,我们就需要使用集合点的技巧。通过集合点的处理可以实现在某一点或多个点上创建大量瞬间压力,以达到有效功能代表全部功能,有限时间代表全部时间的效果。
除此以外,我们知道性能测试分为负载测试、压力测试、并发测试等等类型,其中并发测试要实现并发,就也需要使用到集合点的技巧来实现所有模拟用户的绝对并发,以此来检验服务器的稳定性和并发处理的正确性。这里提到的并发,是指绝对并发,即大量虚拟用户在同一时刻一起执行某个任务。
比如某业务系统收钱的时候是通过支付宝渠道,涉及到钱嘛,总归是小心小心再小心,在产品订购接口里为了避免A、B俩人同时付款,最后单号一致导致的搞不清楚到底是谁付的款这种低级问题,我们就需要验证“大量瞬间”压力下的正确性,在HyperPacer性能测试工具中,是通过集合点来设置的。
下面介绍一下HyperPacer集合点的使用。
HyperPacer中,集合点就是同步定时器(SyncTimer),实现步骤:
1、在指定节点上,创建集合点(本例中,我们在产品订购取样器中创建集合点,集合点的作用域参见《HyperPacer使用技巧之思考时间》);
2、对集合点进行设置。
首先类型必须选择“Sync”同步定时器;
参数中集结用户数就是我们要并发的虚拟用户数,这里设置为200;
在使用集合点时,需要注意的是,在关键业务点使用,不要动不动就上集合点,这样既不符合仿真,也会给服务器造成不必要的压力。
参考文章: LoadRunner技巧之集合点设置 原文出处