性能与建模常用公式速查

QPS、同步/异步选型、cpu.load、逻辑斯蒂曲线

Posted by BY on April 25, 2026

原始笔记是若干个 # 标题 + 代码块的并列条目,没有上下文。这里按”吞吐 / 选型 / 负载 / 曲线”四块整理,公式和原文保持不动。

当前保留内容

1. QPS 统计公式

qps = 1/ (cost/count)

含义:单次平均成本是 cost/count,QPS 就是它的倒数。

2. 同步 / 异步选型公式

qps * latency 与核数对比:

qps * latency 与核数对比, 
a. 同一个数量级,同步
b. >>>(远远大于) 核数, 异步

3. cpu.load

cpu.load 可运行进程与运行中进程的总数 

对于cpu.load多少开始出现性能问题,外界有不同的说法,有的认为cpu.load/cores最好不要超过1,有的认为cpu.load/cores最好不要超过3,有的认为cpu.load不超过2*cores-2即可。
针对技术商服务进行压测时,发现load低时,接口TP999响应时间<50ms,而cpu.load/cores>4时,TP999响应时间约为200ms左右,多出来的时间可以理解为线程等待cpu处理的时间,可见cpu.load/cores过高时是影响接口响应时间的。
因此可以结合预期的接口响应时间,来定义每个服务的cpu.load/cores不超过多少。比如要求接口响应时间尽可能快的,最好确保cpu.load/cores不超过1,而对时间敏感性要求不太高时,一般要求cpu.load/cores不超过3。

4. 逻辑斯蒂曲线

逻辑斯蒂曲线的纵轴极限值通常是1而不是100,因此我假设您的问题中的100是一个笔误。

逻辑斯蒂曲线的方程是:

y = 1 / (1 + e^(-kx))

其中,k是曲线的斜率,x是横轴的值,y是纵轴的值。

如果横轴的极限值是4,那么k的值可以通过以下方式计算:

k = 6 / 4 = 1.5

现在,我们可以使用x = 2.4和k = 1.5来计算纵轴的值:

y = 1 / (1 + e^(-1.5*2.4)) ≈ 0.845

因此,当横轴的值为2.4时,逻辑斯蒂曲线的纵轴大约是0.845。

后续可补的方向

  • 把”同步/异步选型公式”配上一张实际服务的对照案例(QPS、latency、核数实测值)
  • 在 cpu.load 段补一张和 TP99 / TP999 的对照曲线,做经验阈值参考