性能测试中的并发用户数、交易响应时间、tps每秒交易
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
性能测试中的并发用户数、交易响应时间、TPS每秒交易并发用户是指:在某一时间点,与被测目标系统同时进行交互的客户端用户的数量;并发用户数有以下几种含义:
1)并发虚拟用户数:
是指在使用专用的测试工具(如Loadrunner)时用于模拟客户端用户的进程或线程的数量;
2)有效并发虚拟用户数:
是指被评估的目标系统感受到的等效业务请求压力的无思考时间的并发用户数;当使用测试工具对目标系统进行压力加载时设定了思考时间(Think Time),那么实际有效的并发虚拟用户数可使用如下公式计算得出:有效并发虚拟用户数=(并发虚拟用户数×被加载交易在目标系统上运行的实际平均响应时间)/(被加载交易在目标系统上运行的实际平均响应时间+虚拟用户执行一次该交易过程中使用的思考时间的总和);由此可见增加思考时间意味着减少对目标系统的业务请求压力;
3)内在并发用户数:
是指目标系统内部能够同时并行处理的客户端用户数;该参数体现了目标系统的内在并发度,因此当对目标系统进行任何有效的优化和调整之后,其内在并发用户数即内在并发度就会发生变化,通常来讲是指改变目标系统的第一瓶颈后会发生变化;当加载的有效并发虚拟用户数小于或等于内在并发用户数时,目标系统可以真正地并行处理所有被加载用户的任务请求,此时交易的响应时间会相对保持不变,即交易的实际响应时间,也是交易在目标系统中处理的最快时长;当加载的有效并发虚拟用户数大于内在并发用户数时,目标系统会利用内部的请求调度机制将多出的请求进行排队并在所有的用户请求之间进行任务切换处理,外在表现就是被加载交易的响应时间开始延长。
4)并发在线用户数:
一般是指实际生产系统中已经和目标系统建立了会话连接的用户总数,并发在线用户数通常是指实际的客户端操作员的数量,是人工发起的业务会话的数量;并发在线用户数产生的请求压力可以通过公式计算出目标系统感受到的实际业务请求压力,即有效并发虚拟用户数,公式如下:有效并发虚拟用户数=(并发在线用户数×被加载交易在目标系统上运行的实际平均响应时间)/(每个操作员用户发起该交易请求的平均间隔时间);
二、吞吐量(TPS)
吞吐量(TPS)即在所有加载的用户稳定运行后,目标系统在单位时间内完成被请求的交易的数量。在使用测试工具模拟业务请求压力时,吞吐量TPS是指所有被加载的虚拟用户在运行一段时间后稳定获得的每秒交易数。
三、响应时间
响应时间:在所有加载的用户稳定运行后,目标系统平均完成客户端用户请求的一个交易的总时长。
四、思考时间(ThinkTime)
ThinkTime时间也叫思考时间,该功能或机制的设计初衷是用于模拟实际生产环境下业务请求压力的不同形态,其主要功能有:
1)模拟人工操作产生业务请求过程中存在的停歇时长;
2)模拟不同业务繁忙程度下的业务请求压力,即在指定的并发虚拟用户数下进行测试时,可以通过设定并调节思考时间进行有效压力的调整,以获得不同
压力下目标系统的性能或功能表现;例如,在模拟业务请求的高峰时刻压力和低谷时刻压力时,就需要在固定并发虚拟用户数下,通过调整思考时间的长短来模拟。
无思考时间只是有思考时间的一个特例,即思考时间为0的特例。因此,在某并发用户数下,无思考时间产生的业务请求压力将是压力产生系统能产生的最大业务请求压力;无思考时间测试时并发虚拟用户数就是有效并发虚拟用户数,二者相等。无思考时间测试所得的TPS表现行为:1)当有效并发虚拟用户数小于等于目标系统的内在并发用户数时,TPS值和并发虚拟用户数(即有效并发虚拟用户数)成线性关系,因为此时交易的运行不受目标系统的内在并发度影响,可以真正地并发执行,其响应时间就是实际的业务逻辑在目标系统处理过程中消耗的最短时长;2)当有效并发虚拟用户数大于目标系统的内在并发用户数时,TPS值将趋于饱和,表现为随着用户数的增加TPS将基本保持不变或开始下降;如果用户数的增加所衍生出的活动连接数的增加造成的影响被良好地屏蔽在目标系统之前(如使用F5或HTTP Server的TCP连接复用机制),那么TPS将基本保持不变;否则,活动连接数的增加造成的影响将传递到目标系统,表现为加剧目标系统的并发竞争,如数据库的各种类型锁的数量加剧、CPU的任务切换频度加剧、内存快抢占加剧、集群环境下数据块的节点间同步的竞争加剧、并发读写的竞争加剧等,从而降低用于处理真正的业务逻辑的CPU时间,即表现为TPS 开始下降。