【rainbowzhou 面试8/101】技术提问--如何进行大数据基准测试?

2023-03-16 14:15:40 浏览数 (1)

【rainbowzhou 面试3/101】技术提问--大数据测试是什么,你如何测?中,我介绍了大数据系统测试之基准测试。本篇将从大数据基准测试是什么,为什么做大数据基准测试,大数据基准测试的步骤有哪些三个方面来谈谈笔者如何进行大数据基准测试,希望对大家有所帮助。

大数据基准测试是什么?

大数据基准测试是对各种大数据产品进行测试,评估它们在不同硬件平台,不同数据量和不同计算任务下的性能表现。大数据基准测试需要参考特定的评测基准测试集。TPC(事务性能管理委员会)是知名的数据管理系统评测基准标准化组织。该机构发布了多个数据库评测基准测试集,如TPC-D、TPC-H、TPC-DS等等,它们在业界得到了广泛应用。

为什么做大数据基准测试

随着大数据的发展,不断有新的大数据架构、大数据平台和大数据工具出现。在实际业务场景中,我们应该如何对它们进行评估和选择?这就要靠大数据基准测试了。众所周知,在竞技比赛中,一个人不能既是运动员又是裁判员。测试基准好比竞技比赛中的裁判员,应该由中立的第三方机构制定。上面提到的TPC系列基准正是在过去20多年里数据库领域最为广泛接受的基准。除此之外,采用第三方机构的审计也是保证评测结果的客观性与公正性的重要手段。

大数据基准测试的步骤有哪些

大数据基准测试主要分为3个步骤,即数据准备、负载选择和指标度量。

  • 数据准备主要是构造满足大数据特点的各类型的数据,方法可参考如何准备测试数据?
  • 负载选择是通过选择合适的负载以运行数据产生结果;
  • 指标度量是确定衡量的维度,以便从不同方面评估大数据系统。

数据准备

因为真实数据的敏感性和局限性,所以大数据基准测试通常借用工具合成数据。这个过程分为数据筛选、数据处理、数据生成和数据转换。例如,实际项目中通过分析某应用和负载需求,或者大数据性能指标中明确要求了数据的量级为TB级,那么我们就可以准备TB级的数据。我们可以利用开源的数据生成工具提取数据的特征,并根据数据特征和需要扩展的数据量来生成数据集,这样就能得到基于实际应用数据扩展的数据集。最后根据负载需要的输入格式来对数据集的格式进行转换。(关键词:量级、格式)

负载选择

负载是大数据基准测试需要执行的具体任务,用来处理数据并产生结果。从系统资源消耗方面来说,负载可分为计算密集型任务、I/O密集型任务和混合密集型任务。(关键词:计算密集、IO密集)

  • 对于运营商的话单查询,需要多次调用数据库,这是典型的I/O密集型任务;
  • 对于互联网中的聚类过程,需要大量迭代计算,这是典型的计算密集型任务;
  • 对于搜索引擎中的PageRank算法,既需要数据交换,又需要不断进行迭代计算,这是混合密集型任务;

指标度量

一般,我们从用户和系统架构两个角度选取测试指标。从用户角度出发,可选取每秒执行请求(QPS)、请求延时(RT)和每秒执行操作数(TPS)等测试指标。从系统架构出发,可选取每秒浮点计算次数、每秒数据吞吐量等测试指标。在实际的大数据测试中,我们通常从性能、能耗、性价比和可靠性4个维度进行度量。(关键词:QPS/TPS、RT、Throught)

以上从what、why、how三方面描述了大数据基准测试,在实际的测试过程中,基准测试的结果还受多方面因素的影响。我们应结合不同业务系统的特点以及业务要求,进行合理的采购所需的资源,尽可能的做到XJBG~

参考资源:

  • 大数据测试技术与实践

看完今天的分享对你是不是有所启发呢,有任何想法都欢迎大家后台私信我,一起探讨交流。

0 人点赞