原始笔记是若干个
# 标题 + 代码块的并列条目,没有上下文。这里按”吞吐 / 选型 / 负载 / 曲线”四块整理,公式和原文保持不动。
当前保留内容
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 的对照曲线,做经验阈值参考
FEATURED TAGS
Git
Cheat Sheet
Markdown
Tools
C++
Linker
Thread
Linux
TCP
Network
GDB
Debug
leetcode
链表
WSL
Ubuntu
Windows
Linux Kernel
GCC
Android
adb
Troubleshooting
Profiling
Sanitizer
glibc
MySQL
Database
Python
curl
Build
ELF
clang-format
CMake
Graphviz
Performance
vcpkg
Protobuf
排查
速查
内存
STL
调试
性能分析
性能
读书笔记
方法论
架构
网络
Timer
mbedTLS
TLS
安全
负载均衡
脚本
工具
LRU
二叉树
BST
中序遍历
回溯
二分查找
优先队列
排序
旋转数组
jenkins
部署