资源描述
分布式系统性能的推导(单线程版)Kent 2012/9/10-Calculation Based on Sub-systems performance这个系统总的TPS是?如果异步呢?问个实际点的问题:问题汇总l已知两个子系统TPS,如何算出总的如何算出总的TPSTPS?u同步通信的情况u异步通信的情况注:本PPT只讨论单线程情形 所有子系统对外只有一个工作线程 常见于必须顺序处理的数据同步应用 多线程的情形过于复杂,日后奉上总的TPS先给出结果,再介绍推导过程场景场景总的总的RTRT(平均响应时间)(平均响应时间)总的总的TPSTPS两个子系统同步RT1+RT2左值的倒数两个子系统异步Max(RT1,RT2)左值的倒数推导过程 计算模型l记录请求被处理的起止时间l观察单位时间内处理了的请求数l归纳出公式l场景设置:客户端每ms发出1个请求模型介绍请求1:第0 ms提交,第1秒处理完请求2:第1 ms提交,第2秒处理完4ms内处理了4个请求,RT=4ms/4=1msRT推导-两个子系统两个子系统同步 顺序颠倒一下两个子系统异步3ms内处理了1个请求5ms内处理了2个请求7ms内处理了3个请求每过2ms可以多处理一个请求,RT=2两个子系统异步-顺序颠倒一下附加结论 两个子系统的情形u 子系统的先后顺序并不影响总的性能u RT/QPS比较:异步总是更优RT推导-多个子系统 多个子系统 -异步多个子系统 -同异步混搭总的RT=Max(1+1,2+2)=4ms终级结论 任意多个子系统组合场景场景总的总的RTRT(平均响应时间)(平均响应时间)N个子系统同步RT1+RT2+RTnN个子系统异步Max(RT1,RT2,RTn)N个子系统同异混搭Max(RT1+RT2+,RTm+,+RTn)再论 异步 V.S.同步u 平均RT虽优,单个请求的Latency并未缩短u LT(Latency)可能反而变长l 异步应用需要读写缓冲队列,需要时间u 设计策略:以LT换RT(续后页)u 同步变异步u 单个子系统拆成N个异步模块以LT换RT实际应用:总结u 分布式系统 的RT/QPS 公式u 异步性能优于同步,但Latency变大u 可用于性能规划、系统设计
展开阅读全文