阅读: 1,607
本系列文章对性能测试中容易混淆的概念,方法进行总结。作为性能测试进阶版本,本文假设使用者已经会使用各种仪表,不会对基本配置进行描述。
相关阅读:
【安全测试】性能测试进阶(Part1-基本概念)
【安全测试】性能测试进阶(Part2-新建测试的方法)
并发有4种测试方法。主要的差异点就是在并发测试的时候,是否会有连接的拆除。简单总结如下:
- 方法1:用新建来测试并发——只有在拆除阶段的时候,会有连接的拆除。
- 方法2:用并发的方式来测试并发,边建立边拆除——在达到期望的并发值后,开始有连接的拆除和新建。
- 方法3:用并发的方式来测试并发,从一开始就边建立边拆除——在达到期望并发值的过程中,就有连接的拆除和建立。
- 方法4:用并发的方式来测试并发,只建立不拆除——测试至始至终都不拆除。
方法4是最简单的。本质上和找个testcenter来打udp流来测试并发,没有什么差别。和真实环境的差异很大。测试结果自欺欺人,其实不推荐作为测试的标准方法。方法1方法2->方法3,对真实情况的模拟是逐渐加强的。在不知道系统并发值有多少,需要测试系统最大的时候,应该使用方法2。在要求不严格的情况下可以使用方法4。确认某个并发值是否可以达到的时候,可以使用方法1,方法2,方法3。在要求不严格的情况下可以使用方法4。在做某种特定场景下的性能测试,希望在一定的新建下测试并发,或者在一定的并发下测试新建时,需要使用方法3。
需要熟练掌握上述4种方法。特别是外测。
测试的场景(用于确认某个期望的并发值是否可以达到)
这种情况下的测试场景,是希望测试到系统是否可以“以XXX新建的情况下的,达到XX的并发”。这种测试只能用于“确认”性质的测试,而不是用于希望去找到系统最大并发数的测试。这里“确认”是指,比如我希望确认,系统在 1w新建的情况下,并发是否可以达到100w。而不能测试,系统最大的并发性能能够达到多少。
这种情况下,如何设置Load?Load的单位选择conections/sec或者simusers/sec
测试用例2:验证系统能否在新建为3000的情况下,达到并发为100w
举例:验证系统能否在新建为3000的情况下,达到并发为100w在load里面选择conections/sec为例设置高度,及H1为3000T1 = 100w/3000 = 333.3(设置为334)T2:假设希望保持120s
T3:拆除时间,为了保证拆除可以完全成功,一般T3=T1,保险起见,T3>T1(特别是在外测的时候)
相关的action的设置:
Think time=T1+T2 = 454s
当然也可以设置Latency为454s