软件测试的性能测试怎么测,性能测试进阶——并发测试的方法
本系列文章对性能测试中容易混淆的概念,方法进行总结。作为性能测试进阶版本,本文假设使用者已经会使用各种仪表,不会对基本配置进行描述。
相关阅读:
【安全测试】性能测试进阶(Part1-基本概念)
文章目录
并发测试的方法
方法1:用新建来测试并发
测试用例2:验证系统能否在新建为3000的情况下,达到并发为100w
补充说明
并发测试的方法
并发有4种测试方法。主要的差异点就是在并发测试的时候,是否会有连接的拆除。简单总结如下:
方法1:用新建来测试并发——只有在拆除阶段的时候,会有连接的拆除。
方法2:用并发的方式来测试并发,边建立边拆除——在达到期望的并发值后,开始有连接的拆除和新建。
方法3:用并发的方式来测试并发,从一开始就边建立边拆除——在达到期望并发值的过程中,就有连接的拆除和建立。
方法4:用并发的方式来测试并发,只建立不拆除——测试至始至终都不拆除。
方法4是最简单的。本质上和找个testcenter来打udp流来测试并发,没有什么差别。和真实环境的差异很大。测试结果自欺欺人,其实不推荐作为测试的标准方法。方法1方法2->方法3,对真实情况的模拟是逐渐加强的。在不知道系统并发值有多少,需要测试系统最大的时候,应该使用方法2。在要求不严格的情况下可以使用方法4。确认某个并发值是否可以达到的时候,可以使用方法1,方法2,方法3。在要求不严格的情况下可以使用方法4。在做某种特定场景下的性能测试,希望在一定的新建下测试并发,或者在一定的并发下测试新建时,需要使用方法3。
需要熟练掌握上述4种方法。特别是外测。
方法1:用新建来测试并发
测试的场景(用于确认某个期望的并发值是否可以达到)
这种情况下的测试场景,是希望测试到系统是否可以“以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
查看测试结果:
理论上的结果图,并发和新建结果的对应关系是:
按照上述例子中配置,实测图为:
在moniter上可以看到所有的结果均为successful,所以测试结果为通过,及系统能够在新建为3000的情况下,达到并发为100w。
补充说明
Load里面选择的单位,可以是connections/second ,也可以是simusers/second。如果选择simusers,就按照actions里面配置的conections的数量,来进行换算就好。比如actions里面配置了2条conections,那按照上面的例子,高度就是3000/2=1500,如下图所示:
上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理。
软件测试的性能测试怎么测,性能测试进阶——并发测试的方法相关推荐
- 怎么测并发 PHP,PHP接口并发测试的方法(推荐)
如下所示:header("Content-type:text/html; Charset=utf-8"); $uri = "输入你的url"; $data = ...
- PHP并发验证,PHP接口并发测试的方法(推荐)
如下所示: header('Content-type:text/html; Charset=utf-8'); $uri = "输入你的url"; $data = array( 't ...
- php 模拟并发请求_PHP接口并发测试的方法
PHP接口并发测试的方法 header('Content-type:text/html; Charset=utf-8'); $uri = "输入你的url"; $data = ar ...
- Android性能测试②-三种必备内存CPU测试的方法
Android用户也许会经常碰到以下的问题: 1)应用后台开着,手机很快没电了--应用耗电大: 2)首次/非首次启动应用,进入应用特别慢--应用启动慢: 3)应用使用过程中,越来越卡--CPU能力不足 ...
- tsung压测mysql_高并发测试工具Tsung使用教程
tsung是erlang开发的一款开源的多协议分布式负载并发测试工具, 可用作HTTP.WebDAV.SOAP.PostgreSQL.MySQL.LDAP 和 Jabber/XMPP的服务器压力测试. ...
- java 并发测试main方法_Java并发测试
要求:模拟200个设备,尽量瞬间并发量达到200. 思路 第一种:线程池模拟200个线程--wait等待线程数达200--notifyAll唤醒所有线程 第二种:线程池模拟200个线程--阻塞线程-- ...
- java 并发测试main方法_java并发编程test之synchronized测试
synchronized关键字可以用于声明方法,也可以用于声明代码块; package com.test.java; public class SyncTest { public static voi ...
- PHP ab 压力并发测试
PHP ab 压力并发测试 PHP接口并发测试的方法 系统:Ubuntu18.04 安装ab测试工具 如果没安装,输入ab -v,根据提示安装 sudo apt install apache2-uti ...
- 软件测试的功能测试和性能测试,软件测试中的功能测试和性能测试
软件测试中的功能测试和性能测试 发表于:2011-06-13来源:未知作者:娃娃点击数: 软件测试中的功能测试和性能测试一 首先先说功能测试. 1.功能测试的定义:是黑盒测试的一部分.它检查实际软件功 ...
最新文章
- Java项目:实现权限管理系统(java+SpringBoot+MyBatis+AOP+LayUI+Mysql)
- vector机器人 HOW TO RESET, ERASE AND RESTORE VECTOR 如何重置,删除和恢复向量
- 几种xml读取方法比较
- iOS 开发音视频流[1]---FFmpeg
- android view使用方法,Android View构造方法第三参数使用方法详解
- mac怎么实现文件读写c语言,使用Sublime Text和Xcode在Mac上进行文件输入/输出。 C语言...
- Emacs 快速指南
- ActiveMQ学习总结(3)——spring整合ActiveMQ
- struts配置json需要的jar包
- [已破案] 镜像出问题了
- API不治,混合云何以统天下?
- php实现一键截取全屏代码,截全屏电脑快捷键是什么
- 力控组态软件与mysql_力控组态软件实时数据库的原理
- 快速开发平台learun7.0.3发布,看看各版本有什么更新吧
- 测试所用的技术(黑盒、白盒测试等)
- Java程序员校招蚂蚁金服,微信抢红包实战案例,纯干货
- oracle ora00940,ORA-32773问题的解决方法。
- 计算机打不开管理reg,windows为何打不开.reg文件了
- jsp汽车零配件销售进销存系统
- python爬虫——电影《逐梦演艺圈》影评爬取