大数据性能指标与Hadoop系统性能调优
1. 数据管道性能指标
1.1 各阶段性能衡量
在一个端到端的数据管道中,不同阶段的性能衡量方式差异很大。
- 流式数据摄取 :以每秒消耗的事件数量来衡量,但由于事件大小不同,每秒摄取的数据量也是一个重要指标。
- 流式数据分析 :在事件流的窗口上操作,其性能应根据窗口大小(每个窗口的时间量,由单位时间内的事件数量和数据摄取率的乘积决定)来衡量。最相关的性能指标是事件生成与事件参与产生结果之间的时间量。
- 批量计算 :例如机器学习模型训练(推荐引擎是一个典型例子),从模型训练开始(包括原始数据的任何预处理)到将这些模型上传到服务系统所需的时间应作为性能指标。
- 即席和交互式查询 :从查询提交到产生结果的时间是合适的性能指标。
1.2 综合性能指标
为了简化执行端到端管道的环境比较,最初建议对各个阶段的性能进行简单加权聚合,作为整个系统的单一性能指标,并明确指定权重。然而,确定每个阶段的合适权重是一个需要积极研究的领域。一方面,数据生产和消费之间的时间越长,数据的商业价值越低,因此可能会给流式计算性能更高的权重;另一方面,实时近似计算可以接受,而批量计算需要精确结果,所以更快的批量计算应给予更高的权重。
1.3 其他指标
除了性能指标,数据管道架构师还必须考虑通过组合多种技术来组装数据管道的复杂性。这些因素反映在被测系统的总拥有成本(TCO)中,建议报告开发管道所需的时间和人力