首页  

服务器性能指标介绍     所属分类 architecture 浏览量 1370
load cpu mem
qps rt 
qps和rt的关系

应用线程数量设置  最佳线程数

系统负载和应用负荷的关系

qps 一秒钟内完成的请求数量
rt  单个请求响应时间
Tic  cpu计算时间
Tiw  等待时间(io/网络/锁)
Tn 线程数
Tno 最佳线程数
Cn cpu核数
Cu cpu使用率


rt = Tic + Tiw
qps = 1000 / rt

最佳线程数 Tno = (Tic + Tiw) / Tic



多核情况下

qps = (1000 / rt) * Cn * Cu

cpu 一般不跑到 100% ,  Cu  可取 80%

多线程
qps = Tn *  (1000 / rt) * Cn * Cu

多核最佳线程数 qps
qps = ((Tic + Tiw) / Tic) *  (1000 / rt) * Cn * Cu


机器负荷高,但应用负荷不高 即机器的load很高,但是应用的qps不高,可能原因:
1. 其他资源导致cpu利用率上不去,大量线程在执行其他动作或者在等待,比如io太慢,内存gc等。
2. 如果系统资源不是瓶颈,则由可能是锁竞争、后端依赖的服务吞吐低、没有充分利用多核资源。

load查看方法

1. 磁盘io 网络io :vmstat、iostat、sar -b等
2. 网络io:iftop、iptraf、ntop、tcpdump等。
3. 内存:gc、swap、sar -r
4. 锁竞争、上下文切换、后端依赖

机器负荷高,应用负荷也高 ,即机器load很高,应用qps也很高

典型的cpu型应用,rt中Tiw很小,基本上全是cpu计算,可以尝试查找cpu耗的较多的线程,降低cpu计算的复杂度。

机器上其他程序对load 的影响

上一篇     下一篇
netty代码debug切入点

java NIO selector

缓存雪崩穿透预热更新降级

spring资源Resource接口

oauth2.0要点

网络问题排查要点