吞吐量和延迟:性能调整变得简单

我们以前的许多主题都已根据延迟或吞吐量衡量了某些系统的行为。 理解这两个术语实际上代表什么可能会造成混淆,因此我决定写一篇文章,以性能优化的角度解释这些术语。

Zeit,Uhr-应用/按钮

让我们从一个例子开始说明这些概念。 由于我们是软件人员,因此可能比工厂生产线更好的例子。 富士康工厂生产iPad Air的物理组装线。 依次完成iPad的编译工作。 沿线走,我们估计从验收测试结束到外壳成型的一开始,要完成iPad需要四个小时。

通过测量同一条装配线的速度,我们可以发现每天24小时每天每秒准备好一部完整的iPad。 因此,该工厂每天生产86,400台iPad。

现在,如果我们是蒂姆·库克(Tim Cook)看这些数字,我们将开始感到恐慌。 作为苹果公司的首席执行官,我们不会太在乎四个小时内完成一台iPad所需的时间,但是每天生产的iPad的总数却令人恐惧。 根据以前的版本,我们可以估计,在发布后的第一季度中,大约需要1.5亿台iPad Air才能满足需求。 这大约是富士康的两倍。 因此,我们将立即致电和硕,让他们建立等效的装配线。

和硕完成其职责后,现在我们有两个等效的工厂在运送相同的iPad。 通过这样做,我们虚构的蒂姆·库克(Tim Cook)将每天生产的iPad数量增加了一倍-现在,我们每天可发货172,800台iPad。 重要的是要注意,我们完成一个人的时间甚至没有减少一毫秒-从头到尾完成iPad仍需要4个小时。

在上面的示例中,蒂姆·库克执行了性能优化任务,同时处理了吞吐量和延迟。 就像在任何好的示例中一样,他首先测量了系统的当前性能:

  • 系统延迟:4小时
  • 系统吞吐量:86,400 iPads /天

请注意,延迟是以适合该任务的时间单位来衡量的,因此,无论您使用毫秒,小时还是毫秒,都由您自己决定。 系统的吞吐量以完成的操作/时间单位衡量,操作与特定系统相关。 在示例情况下,操作为出厂的iPad。

接下来,蒂姆通过选择要满足的绩效标准做出了另一个重要决定。 根据他的历史经验,他推断在发布后的第一季度,他将需要大约1500万台iPad来满足需求。 回溯到它后,他知道要出货86,400台并不是要做到,因此他致电和硕,要求产能翻倍并能够满足需求。

他还做出了一个重要的决定,即不关注延迟。 在他的情况下,他很可能是正确的,因为他的系统的构建方式对他来说生产线的等待时间无关紧要。

那么,这有什么意义呢? 我希望本文能够解释成功才能实现的三个性能优化概念:

  • 吞吐量和延迟之间的区别
  • 当前系统的吞吐量和延迟
  • 根据业务需求需要满足的条件

然后只有这样,您才可以开始对系统进行实际优化。

但我怀疑许多Tim Cooks确实在阅读此博客,因此我们需要在下一篇文章中将新知识与软件结合起来。 订阅RSS提要或Twitter流,敬请关注。


翻译自: https://www.javacodegeeks.com/2013/12/throughput-and-latency-performance-tuning-made-simple.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值