在【rainbowzhou 面试3/101】技术提问--大数据测试是什么,你如何测?中,如果细看的小伙伴会发现通篇仅在基准测试的时候,提到过性能,那么是否在大数据领域基准测试即性能测试呢?本篇带着这个疑问,我将和大家聊聊大数据中的性能测试,性能测试的步骤,以及分享一个大数据性能测试案例,希望对大家有所帮助。
性能测试可以分为以下几种类型:
由上图可知,性能测试主要包含以下3个阶段。
在测试准备阶段,我们需要先进行需求分析,并明确性能测试的目标,再根据具体目标和业务场景设计性能测试方案,还需要根据不同场景准备相关测试数据。然后,开发相关的性能测试脚本。
在性能测试执行调优阶段,若有指标异常,则需要分析相关异常问题并进行性能调优(优化代码和配置)。然后重新进行测试,直到各项指标满足系统要求
最后,我们对整个性能测试过程和结果进行总结,并输出性能测试报告。
(1)工具简介
以对CDP平台为例,采用基于TPC-DS的hive-testbench作为测试工具,对平台底层的Hive进行性能测试。hive-testbench是将TPC-DS/TPC-H针对Hive进行特定封装后的测试工具,包含数据生成、导入和一组测试SQL。其基准结果可用来测量在较为复杂的多用户决策中单一用户模型下的查询响应时间。
TPC-DS是一个面向决策支持系统(decision support system)的包含多维度常规应用模型的决策支持基准,其测试数据包含7张事实表、17张纬度表;其测试内容涵盖对大数据集的统计、报表生成、联机查询、数据挖掘等复杂应用;其工作负载包含99个SQL查询,覆盖SQL99和2003的核心部分以及OLAP,并体现以下特性:
(2)测试过程
(3)测试结果
(4)测试总结
以上是案例仅仅是大数据性能测试的其中一部分,实际项目中我们还需要关注大数据组件和数据处理过程的性能,如消息消费、MapReduce任务和数据查询等。如果脚本/任务耗时不符合预期、资源消耗过大情况发生时,我们都需要充分考虑可能存在的性能问题,并对当前性能表象进行分析,之后在权衡整体消耗的前提下,进一步提升服务的性能,直到达到业务或项目的最终要求。
参考资源:
看完今天的分享对你是不是有所启发呢,有任何想法都欢迎大家后台私信我,一起探讨交流。
本文分享自 rainbowzhou的成长足迹 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!