0%

并发量计算

在操作系统中,并发是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机上运行,但任一个时刻点上只有一个程序在处理机上运行。

一、概念

并发

  1. 并发

    • C:并发
    • n:压测时间段内所有的请求数
    • L:平均响应时间
    • T:压测总时长
  2. 吞吐量

    • 公式1: 吞吐量 = 并发数 / 平均响应时间
    • 公式2: 吞吐量 = 请求总数 / 总时长

C = nL / T推导:

1
2
3
4
5
6
7
8
9
并发 = 请求总数 * 平均响应时间 / 总时长



并发 / 平均响应时间 = 请求总数 / 总时长



公式1 = 公式2

二、计算

  1. 第一组模型:一共有4个线程,同时发了4笔请求,其中3笔耗时1s,一笔耗时2s,整个过程一共耗时2s。

场景一

1
2
3
4
5
6
7
公式1:
平均响应时间 = (1+1+1+2) / 4= 1.25s ;
并发 = nL/T = (4*1.25) / 2 =2.5
吞吐量 = 2.5 / 1.25 = 2 笔/s

公式2:
吞吐量 = 总笔数/总耗时 = 4/2= 2 笔/s
  1. 第二组模型:一共有4个线程,同时发了4笔请求,4笔请求耗时均为1s,1s内全部发送完毕。

场景二

1
2
3
4
5
6
7
公式1:
平均响应时间 = (1+1+1+1) / 4= 1s
并发 = nL/T = (4*1) / 1 =4
吞吐量 = 4 / 1= 4 笔/s

公式2:
吞吐量 = 总笔数/总耗时 = 4 / 1= 4 笔/s
  1. 第三组模型:一共有4个线程,4笔请求耗时均为1s,但线程发送出现不同步现象,一共持续1.5s完成全部:

场景三

1
2
3
4
5
6
7
公式1:
平均响应时间 = (1+1+1+1) / 4= 1s
并发 = nL/T = (4*1) / 1 =4
吞吐量 = 4 / 1.5= 2.67 笔/s

公式2:
吞吐量 = 总笔数 / 总耗时 = 4 / 1.5 = 2.67 笔/s

三、参考

  1. 参考一
  2. 参考二