简约是终极的复杂性。 ——莱昂纳多·达·芬奇
性能可以简单地定义为工作完成的及时性。话虽如此,在云服务方面,性能可能是最复杂的术语之一,因为没有单一的性能度量标准。在本章中,我们将逐步介绍性能的各个方面,建立对性能的良好理解,包括云数据湖中性能衡量的各个维度,以及帮助优化和调整云数据湖以实现最佳性能的策略。我们还将使用Klodars Corporation作为示例,阐述这些概念和策略。
当谈论性能时,可以有一定的自信地说,你是在考虑与速度相关的事物,例如一个跑者创下个人纪录冲过终点线。共同的目标是努力完成任务并实现期望的结果,满足或超越观众的期望。类似地,在云数据湖中,性能指的是为任务设定目标并确保任务在设定的目标内完成的过程。
任务的性能有两个方面,任何性能指标都需要包含这两个要素:
响应时间
任务完成需要多长时间?
吞吐量
产生了多少输出?
让我们以之前在“我们日常生活中的规模”中看到的制作三明治的例子为例。在那一部分中,我们看到了制作三明治的两种架构——端到端执行方法(如图5-1所示)和流水线方法(如图5-2所示)。让我们以这些例子来尝试衡量性能。
正如我所说,性能取决于两个因素:响应时间和吞吐量。为了衡量性能,我们需要设定一个目标。在三明治制作的例子中,目标是制作五个三明治。接下来,我们需要确定一组相对容易测量的指标。为了简单起见,我们假设制作三明治的工人速度相同,并且在任务之间没有过渡时间。我们将考虑可变和恒定的指标:
可变指标 以下指标是可变的,即您可以通过添加或删除来调整或更改的指标:
恒定指标 这些指标在您改变可变指标时保持相对恒定。在这个例子中,可变指标是完成每个步骤所需的时间:
由于资源有限,会出现某人需要等待资源释放后才能执行任务的情况,因此你会发现五个三明治将在不同的时间完成。
现在,你是否想知道这本书中是否意外添加了烹饪书籍的页面?如果是的话,不用担心。在云数据湖架构中,存储、网络和计算等组件与烤面包机或花生酱罐类似,它们需要一定的时间来执行操作,这对于大数据处理场景非常重要。通过优化执行操作的时间并控制这些组件的单位,您可以优化整体的云数据湖性能。我在解释这些概念时以制作三明治为背景的目的是使它们易于可视化,并在云数据湖架构的背景下应用。
阅读量:1322
点赞量:0
收藏量:0