性能指标解读

响应时间

指应用系统从发出请求开始到收到最后相应数据所需要时间,相应时间是系统最重要的性能指标,直接反应了系统的“快慢”

网络传输时间:N1 + N2 + N3 + N4

应用服务器处理时间:A1 + A3

数据库服务器处理时间:A2

则响应时间 = N1 + N2 + N3 + N4 + A1 + A3 + A2

并发数

系统能够同时处理请求的数目,这个数字也反应了系统的负载特征。对于网络而言,并发数即系统并发用户数,指同时提交请求的用户数目

同时在线用户数:在一定的时间范围内,最大的同时在线用户数量。

同时在线用户数 = 每秒请求数RPS(吞吐量TPS) + 并发连接数 + 平均用户思时间

平均并发用户数的计算:C = n * L / T

其中C是平均的并发用户数,n是平均每天访问用户数(login session),L是一天内用户从登录到退出的平均时间(login session的平均时间),T是考察时间长度(一天内多长时间有用户使用系统)

并发用户数峰值计算:C1 = C + 3 * sqr©

其中C1是并发用户峰值,C是平均并发用户数,sqr©代表C的平方根。

示例:

假设有一个OA系统,该系统有3000个用户,平均每天大约有400个用户要访问该系统,对一个典型用户来说,一天之内用户从登录到退出该系统的平均时间为4个小时,在一天的时间内,用户只在8小时内使用该系统。

则根据公式1和公式2,可以得到:

C = 400 * 4 / 8 = 200

C1 = 200 + 3 * sqr(200) = 242

吞吐量

吞吐量是指系统在单位时间内处理请求的数量

从业务角度看,吞吐量可以用:请求数/秒、页面数/秒、人数/天或处理业务数/小时等单位来衡量

从网络角度看,吞吐量可以用:字节/秒来衡量

一个系统的吞吐量与request对cpu的消耗,外部接口,io等紧密关联,单个request对cpu消耗越高, 外部系统接口,io响应速度越慢,系统吞吐能力越低,反之越高

系统吞吐量几个重要参数:qps(tps),并发数,响应时间

QPS(TPS)=并发数/响应时间

示例:

一个典型的上班签到系统,早上8点上班,7点半到8点的30分钟时间里用户会登录签到系统进行签到。公司员工为1000人,平均每个员工签到系统时长为5min,可以用以下方法计算

QPS=1000/(30*60)事务/秒

平均响应时间为=5*60秒

并发数=QPS平均响应时间 = 1000/(3060) (560) = 166.7

Vu和TPS换算举例说明

TPS是每秒事务数,但是事务是要靠虚拟用户run出来的,假如1个虚拟用户在1秒内完成1笔事务,那么TPS明显就是1;如果某笔业务响应时间是1ms,那么1个用户在1秒内能完成1000笔事务,TPS就是1000了;如果某笔业务响应时间是1s,那么1个用户在1秒内只能完成1笔事务,要想达到1000的TPS,至少需要1000个用户;因此可以说1个用户可以产生1000TPS,1000个用户也可以产生1000TPS,主要是看响应时间快慢。

QPS

每秒钟处理完请求的次数:⚠️指的是处理完。具体是指发出请求到服务器处理完成返回成功结果。可以理解有个counter,每处理一个请求+1,1s后counter=QPS
QPS=req/sec=请求数/秒
QPS=总请求数/(进程总数*请求时间)

TPS

每秒钟处理完的事务次数,一般tps是对整个系统来讲的,一个应用系统1s内能完成多少事务处理,一个事务在分布式处理中,可能会对应多个请求,对于衡量耽搁接口服务的处理能力,用QPS比较多
平均tps=总请求数/请求时长(黄色三角时间)

PV

访问量即page view,即页面浏览量或者点击量,用户每次刷新即被计算一次
单台服务器每天pv计算
公式1:每天总PV = QPS * 3600 * 6
公式2:每天总PV = QPS * 3600 * 8

UV

新系统:没有历史数据作参考,只能通过业务部门进行评估。
旧系统:对于已经上线的系统,可以选取高峰时刻,在一定时间内使用系统的人数,这些人数认为属于在线用户数,并发用户数取10%就可以了,例如在半个小时内,使用系统的用户数为10000,那么取10%作为并发用户数基本就够了。

例子1:
每天300w pv的单台机器上,这台机器需要多少QPS?
(30000000* 0.8) / (24 * 3600 * 0.2)=139 QPS
如果一台机器的QPS是58,需要几台继续来支持?
139/58=3

例子2:
基准参数:平均响应时间1s
tps峰值242
页面平均大小20kb
每页平均包好20张图片,每张图片大小50kb

PV估算
平均一天8个小时工作时间都按峰值估算,TPS * 8 * 60 * 60 = 6969600

数据库估算
假设每个页面平均执行3个SQL,每个SQL平均耗时100毫秒,数据库需要的并发数 为3 * 242 / 0.1S = 73

带宽估算
应用服务器带宽,页面平均大小20KB,平均响应时间1S,去除数据库的交互时间 (1000ms - 3 * 100ms)后为700ms,平均每个requst带宽是28.57KB/S,最大带 宽242 * 28.57 / 1024 = 6.75MB/S 图片服务器带宽估算类似应用服务器

你可能感兴趣的:(jmeter,服务器,数据库,网络)