美文网首页
线程数与QPS计算

线程数与QPS计算

作者: 弥芥716 | 来源:发表于2019-02-21 23:44 被阅读0次

01 最佳线程数计算

1.1 cpu密集型

n+1
当因为页缺失或其它故障而导致某一线程暂停时,额外的线程可以保证cpu的时钟周期不被浪费

1.2 Io密集型

2*n 这个是不准的,因为正常业务都是IO密集型的。
真正使用时应以下方为准

1.3 同步最佳线程数目

(线程等待时间/线程消耗CPU时间 + 1)* cpu核数cpu利用率
线程数=cpu核数
cpu使用率*(1+wait time/cpu time)
W/C: 等待时间与计算时间的比值

1.4 单线程QPS

1000/(cpu time + wait time)

1.5 异步最佳线程数

wait time主要是阻塞于IO上的时间,改成异步后wait tme趋于0了,
线程数~=cpu核数 * cpu利用率
此时退化成cpu密集型了

02 QPS计算

2.1 rpc同步调用

最佳线程数 * 单线程的QPS
(1000/cpu time)*cpu核数 * cpu利用率

2.2 rpc异步调用

异步最佳线程数 * 单线程QPS
因为wait time已经趋于0了,所以此处的单线程QPS要远大于同步时的QPS;

03 总结

客户端RT=服务端RT+网络开锁
服务端RT=thread cup time(cpu消耗时间 CT) + thread wait time(cpu等待时间 WT)
单线程QPS:1000/RT
最佳线程数=(RT/CPU TIME)CPU核数cpu使用率
QPS=最佳线程数单线程的QPS
=((CT+WT)/CT)
CPU核数cpu使用率 * 1000/(WT+CT)
=(1000/CT)
cpu核数*cpu利用率 (没有考虑线程的上下文切换)

cpu time 是所有环境上消耗的cpu时间之和,取决于数据结构和算法;
cpu的利用率受 io 连接池 内存 编程模型等影响;

amdahl定律:当增加计算资源的时候(如cpu 内存 宽带),吞吐量能够进行相应的改进,其加速比:
speedup <= 1/(F+(1-F)/N)
F表示必须串行执行的比重
N 处理器个数
如CPU核数从1到4,只要F>0,最大加速比就不会翻4倍;

gustafson定律,对amdahl的补充:S= N-a(N-1)
N是处理器个数,a是串行时间占总执行时间的比例;

相关文章

  • 线程数与QPS计算

    01 最佳线程数计算 1.1 cpu密集型 n+1当因为页缺失或其它故障而导致某一线程暂停时,额外的线程可以保证c...

  • jmeter压力测试--集合点

    1、基本公式 线程数 = QPS * time; 注:QPS--每秒完成请求的个数;time--每个请求响应完成平...

  • 线程隔离的线程池配置最佳姿势

    先谈谈qps,rt和线程数的关系 单机单线程能够处理的最大qps为1000ms/rt(抛开cpu利用率等等其他的因...

  • 06 - Jmeter4.x压测参数设定与配置

    基本公式 线程数 = QPS * time;QPS * time就是所有请求完成响应所需要的总时长,如果需要在1s...

  • sentinel概念

    sentinel功能点 流控qps线程数 降级RT:平均响应时间异常比例:异常数: 热点QPS 模式 授权流控应用...

  • sentinel功能点

    流控qps线程数 降级RT:平均响应时间异常比例:异常数: 热点QPS 模式 授权流控应用黑白名单 概念解释 限流...

  • jemter性能测试步骤(仅个人经验之谈)

    添加sampler 添加线程数(线程、启动时间、循环次数) 添加qps(请求吞吐量) 添加断言(响应断言、时间断言...

  • epoll

    传统的BIO BIO和QPS的关系: 1个线程的qps就是1. 100个线程的qps就是100 1000个线程的q...

  • 性能指标,高并发、大流量、架构设计

    性能指标 1、吞吐量(Throughput)、QPS、并发数、响应时间(RT)对系统性能的影响2、线程池与工作队列...

  • mysql DB 监控之monyog

    对于DB的监控,我们一般关注以下几个点:1.连接数2.线程数threads connected3.qps4.ins...

网友评论

      本文标题:线程数与QPS计算

      本文链接:https://www.haomeiwen.com/subject/rzijyqtx.html