怎么理解SLB的并发连接数和PTS中的虚拟用户?

本文介绍SLB的并发连接数和PTS虚拟用户的区别。

基本概念

  • SLB的并发连接数:指所有建立的TCP连接数量。

  • PTS的虚拟用户:指的是现实系统中同时操作业务的用户,在性能测试工具中一般称为虚拟用户(Virtual User)。虚拟用户这个概念一般是从客户侧评估的角度出发,但是不便于服务端的一些容量评估和高可用评估。

解释说明

为了便于理解,假设PTS中的压测场景是一个串联链路A,里面包含一个压测API 1。

当压测进行时,PTS上的API 1的虚拟用户数基本会和SLB的并发连接数接近或者更小,因为SLB上可能还有正常业务流量。但由于PTS上的施压端监控数据是秒级采集的,而SLB上是15秒或者分钟级数据,所以PTS的API 1虚拟用户数和SLB并发连接数会有一定的误差。此外还需要注意一种情况,如果被压测服务端支持Keep-Alive,当串联链路中放入了思考时间且时间比较大(大于Keep-Alive的Timeout),则会出现SLB上的并发连接数特别是活跃连接数下降的情况。

说明

SLB的并发连接数是活跃连接数与非活跃连接数的总和。

  • 活跃连接数:指所有ESTABLISHED状态的TCP连接。因为如果您采用的是长连接的情况,一个连接会同时传输多个文件请求。

  • 非活跃连接数:指除ESTABLISHED状态以外的所有状态的TCP连接数。Windows和Linux服务器都可以使用netstat -an命令查看。