最优线程公式

描述

一个多资源的程序中,对资源的争用表现为对瓶颈资源的争用,性能会受制于瓶颈资源。

例:物理机器有6核心cpu, 业务的一个环节是写数据库. 数据库连接池的数量设置为4.则实际的处理情况是,20个请求进入后, cpu计算阶段一次最多处理6个请求(假定时间为5ms),其他14个请求会进行排队.  当请求达到数据库层面后, 一次又只能处理4个请求(假定时间为10ms),其他2个请求需要排队,则其实在处理一次请求的时间周期(15ms)内, 实际上可以处理的请求数只有4个.

公式

1、 最优线程数量=线程总时间/瓶颈资源时间 * 瓶颈资源并行数(上面的例子中, 15/10* 4 = 6)

(个人理解:该公式根据瓶颈资源的权比 和 瓶颈资源数量 进行计算)

2、 一个线程1S可以处理的请求数(1000/线程总时间, 上例中: 1000ms/15ms)

3、 所以得到qps计算公式: qps= 最优线程数量 * (1000/线程总时间)

由上面可以知道, 瓶颈资源, 是计算公式的关键. 所以需要找出影响系统性能的环节

参考:http://blog.csdn.net/taylorchan2016/article/details/51476909

你可能感兴趣的:(最优线程公式)