当前位置: 首页 > article >正文

80后聊架构:架构设计中两个重要指标,延时与吞吐量(Latency vs Throughput) | 架构师之路...

《架构师之路:架构设计中的100个知识点》

3.延时与吞吐量

有朋友问我说,架构优化时,什么时候要重点优化延时,什么时候要重点优化吞吐量?

画外音:补充阅读材料在最后。

延时(Latency吞吐量(Throughput是架构设计中非常重要,又非常容易搞混的两个指标。

什么是延时?

延时是指完成某个动作所需要的时间。

返回一个HTTP请求的时间是200毫秒,我们说请求的延时是200毫秒。

生一个孩子的时间是10个月,我们说生孩子延时是10个月。

什么是吞吐量?

吞吐量是指单位时间内完成某个动作的次数。

一个请求的处理时间是200毫秒,单线程每秒钟可以处理5个请求,我们就说其的吞吐量是每秒5次。

10个月能生一个孩子,我们就说生孩子的吞吐量是每10月1个。

延时和吞吐量有什么关系?

一般来说,降低延时可以提升吞吐量。

例如:200毫秒处理一个请求,优化为100毫秒处理一个请求,吞吐量就由5提升为10了。

但是,不降低延时也可以提升吞吐量。

例如:单线程200毫秒处理一个请求,线程数增加到10,吞吐量就由5提升为50了。

画外音:假如CPU不是瓶颈。

有时候,延时是很难降低,此时不能靠降低延时增加吞吐量。

例如:生孩子的延时就必须是10个月。

此时,提升吞吐量的方法只能多个家庭并发一起生。

回到开篇的问题,架构优化时,什么时候要重点优化延时,什么时候要重点优化吞吐量?

对于大规模系统的架构设计而言:

延时,延时更多是性能(performance)指标,关乎单用户体验。

吞吐量,吞吐量是扩展性(scalability)指标,关乎同时能服务多少客户。

系统的性能,是有天花板的,延时不能无限优化,不可能降到0。

系统的扩展性,理论上是无限的,架构合理的话,吞吐量可以无限提升,能同时为无限多的用户同时服务。

一句话来回答这个问题:

一个用户慢,就去优化延时。

多个用户扛不住,就去优化吞吐量。

补充阅读材料

23年1月的一篇《延时与吞吐量》。

https://cs.fyi/guide/latency-vs-throughput

分为几章:

1. 延时

2. 吞吐量

3. 延时与吞吐量的关系

4. Web Server举例

5. Database举例

6. 总结

文章不长,10分钟能读完。

==全文完==

后续我将以短视频+图文+直播+星球社群的形式,系统性的分享架构设计中的100个相关知识点,欢迎感兴趣的童鞋关注。

画外音:均免费。

短视频的进度会快一些,码字有点麻烦,进度会慢一些,大伙静候。

0443eb134522d2d0ec4020b60c9c0576.png

第2集:究竟怎么做架构设计?

回归本心,希望为社区贡献自己的一小点力量。

平台的策略,专业内容不推流,大家多帮忙标星,以及点赞,转发,在看三连。感谢。


http://www.kler.cn/a/384718.html

相关文章:

  • ubuntu 22.04 server 格式化 磁盘 为 ext4 并 自动挂载 LTS
  • 交换机属性-持久化和自动删除等
  • 分离编译(介绍,解决“类模板定义和声明不在同一文件导致链接错误“的问题),类模板实例化原理,
  • Kafka java 配置
  • LangChain Ollama实战文献检索助手(三)思维链COT、思维树TOT和思维网NOT
  • ASP页面改为UTF-8编码后,刷新页面不定时中文输出乱码终极解决方案
  • Java链表及源码解析
  • 鸿蒙next选择 Flutter 开发跨平台应用的原因
  • 探索 Java 中 String 类的常用方法
  • MySQL分区表(二)
  • 2024-11-07 问AI: [AI面试题] 解释推荐系统的概念
  • WorkFlow源码剖析——Communicator之TCPServer(中)
  • Hive 的数据存储单元结构
  • 存储数据库的传输效率提升-ETLCloud结合HBASE
  • 《安全软件开发框架(SSDF) 1.1:降低软件漏洞风险的建议》解读(四)
  • Java项目实战II基于SpringBoot在线课程管理系统的设计与实现(开发文档+数据库+源码)
  • 特征检测与特征匹配方法笔记+代码分享
  • Supervisor的使用-ubuntu
  • 在OceanBase 中,实现自增列的4种方法
  • 练习题 - Django 4.x HTTP 网络协议使用示例和配置方法
  • OpenSSH 安全漏洞(CVE-2023-38408)解决方案
  • leetcode hot100【LeetCode 78. 子集】java实现
  • 船体平整如镜,玛哈特矫平机为航海安全保驾护航
  • Docker Compose部署Rabbitmq(Dockerfile安装延迟队列)
  • Vue 3 单元测试与E2E测试
  • github.io出现的问题及解决方案