大数据基准测试流程与测试工具解析

合集下载

大数据分析中的数据质量评估与监控工具介绍(Ⅰ)

大数据分析中的数据质量评估与监控工具介绍(Ⅰ)

随着大数据时代的到来,大数据分析已经成为人们工作和生活中不可或缺的一部分。

大数据的处理和分析需要使用各种工具和技术,而数据质量评估与监控工具则是保证大数据分析结果准确性的关键。

本文将介绍大数据分析中的数据质量评估与监控工具。

一、数据质量评估在大数据分析过程中,数据质量评估是非常重要的一环。

数据质量评估的目的是确保数据的准确性和完整性,从而保证分析结果的可靠性。

在数据质量评估中,可以使用各种工具和技术来检测数据的错误和缺失,比如数据质量分析工具、数据清洗工具等。

数据质量分析工具可以帮助用户快速发现数据中的问题,比如重复数据、异常数据、缺失数据等。

常见的数据质量分析工具包括DataCleaner、OpenRefine、Talend等。

这些工具可以通过数据规则的设置来对数据进行评估,同时也提供了可视化界面,方便用户查看和分析数据质量情况。

数据清洗工具则是用来清洗和修复数据的工具。

在大数据分析中,由于数据量大、来源多样,数据中往往会存在各种问题,比如格式不统一、缺失值过多等。

数据清洗工具可以帮助用户快速清洗和修复数据,使其符合分析要求。

常见的数据清洗工具包括Trifacta、OpenRefine等。

这些工具可以通过自动化的方式对数据进行清洗和修复,大大提高了数据处理的效率。

二、数据监控除了数据质量评估,数据监控也是大数据分析中不可或缺的一环。

数据监控的目的是实时监测数据的变化和状态,及时发现并处理数据异常,从而保证数据分析的准确性和及时性。

在数据监控中,可以使用各种工具和技术来监测数据的变化和状态,比如数据可视化工具、实时监控工具等。

数据可视化工具可以帮助用户实时监测数据的变化和状态。

通过数据可视化工具,用户可以将数据以图表、地图等形式展现出来,直观地了解数据的状态和趋势。

常见的数据可视化工具包括Tableau、Power BI等。

这些工具提供了丰富的可视化方式和交互式界面,可以帮助用户快速了解数据的变化和状态。

大数据性能测试方案

大数据性能测试方案

大数据性能测试方案随着大数据技术的快速发展,越来越多的企业开始使用大数据技术来处理和分析海量的数据。

然而,大数据技术的复杂性和庞大的规模也给性能测试带来了更大的挑战。

为了验证一个大数据系统的性能,并确保其在实际使用中能够满足用户需求,需要制定一套完整的大数据性能测试方案。

1.确定测试目标在进行大数据性能测试之前,首先要明确测试的目标。

例如,测试人员可能希望评估系统在处理特定大小和类型的数据集时的性能,或者测试系统在并发用户负载下的响应时间和吞吐量。

2.设计测试环境在进行大数据性能测试时,需要准备适合的测试环境。

测试环境应该与实际部署环境相似,包括硬件设备、操作系统、网络条件等。

同时,还需要配置适当的测试工具和监控系统,以便对系统进行性能和资源利用的监测和分析。

3.收集测试数据为了进行性能测试,需要准备和收集能够模拟真实使用场景的测试数据。

这些数据应该包括各种类型和规模的数据,以确保系统在处理不同情况下的性能表现。

4.设计性能测试用例性能测试用例的设计是性能测试方案的关键一步。

测试用例应该涵盖各种场景,例如并发用户的数量和负载特征,不同类型和大小的数据集处理,以及各种查询和分析操作等。

5.执行性能测试在执行性能测试时,需要根据预先设计的测试用例来模拟真实的使用场景。

测试人员应该记录关键性能指标,例如响应时间、吞吐量、系统利用率等,并进行监控和分析。

6.分析和优化性能在完成性能测试后,需要对测试结果进行分析,并根据分析结果进行性能优化。

可以使用各种性能优化技术,例如增加硬件资源、优化算法或查询计划等,以提高系统的性能表现。

7.重复测试性能测试是一个迭代过程,需要多次测试和优化。

重复测试的目的是验证性能优化的效果,并确保系统在各种情况下都能够稳定运行。

总结:大数据性能测试是一项复杂而重要的任务。

通过制定一个完整的测试方案,可以帮助测试人员评估大数据系统的性能,并发现潜在的问题。

通过持续的性能优化,可以确保大数据系统能够在实际使用中高效运行,并满足用户的需求。

大数据平台测试标准

大数据平台测试标准

大数据平台测试标准一、引言大数据平台测试是为了保证大数据平台的稳定性、可靠性和性能的一项重要工作。

本文将详细介绍大数据平台测试的标准格式,包括测试目标、测试策略、测试环境、测试用例设计、测试执行、测试报告等内容。

二、测试目标1. 确保大数据平台的功能完备性:测试各个模块的功能是否符合需求,是否能够正常运行。

2. 确保大数据平台的稳定性:测试大数据平台在长时间运行过程中是否会出现崩溃、死锁等问题。

3. 确保大数据平台的性能:测试大数据平台在处理大量数据时的性能表现,包括响应时间、吞吐量等指标。

4. 确保大数据平台的安全性:测试大数据平台在数据传输、数据存储等方面的安全性,保护用户数据不被非法获取。

三、测试策略1. 功能测试:测试大数据平台各个功能模块的功能是否符合需求,包括数据采集、数据存储、数据处理等功能。

2. 性能测试:测试大数据平台在处理大量数据时的性能表现,包括响应时间、吞吐量等指标。

3. 安全测试:测试大数据平台在数据传输、数据存储等方面的安全性,保护用户数据不被非法获取。

4. 兼容性测试:测试大数据平台在不同操作系统、不同浏览器等环境下的兼容性。

5. 可靠性测试:测试大数据平台在长时间运行过程中是否会出现崩溃、死锁等问题。

四、测试环境1. 硬件环境:至少需要一台服务器用于搭建大数据平台,服务器配置要满足大数据处理的需求。

2. 软件环境:需要安装大数据平台软件,如Hadoop、Spark等,以及相关的数据库、操作系统等软件。

3. 测试数据:需要准备一定量的测试数据,包括各种类型的数据,以模拟真实的数据处理场景。

五、测试用例设计1. 功能测试用例:根据需求文档,设计各个功能模块的测试用例,包括正常情况下的功能测试、异常情况下的功能测试等。

2. 性能测试用例:设计测试用例,模拟大数据处理场景,测试大数据平台的性能表现,包括响应时间、吞吐量等指标。

3. 安全测试用例:设计测试用例,测试大数据平台在数据传输、数据存储等方面的安全性,保护用户数据不被非法获取。

软件测试中的大数据与数据仓库测试

软件测试中的大数据与数据仓库测试

软件测试中的大数据与数据仓库测试在当今数字化时代,大数据和数据仓库已经成为各行各业的核心要素。

软件测试作为确保软件质量的关键环节之一,在面对大数据和数据仓库的测试时,也需要采取相应的策略和方法。

本文将探讨软件测试中的大数据与数据仓库测试,并介绍一些相关的技术和工具。

1. 大数据测试1.1 数据量的处理大数据测试的一个重要挑战是如何处理海量的数据。

传统的测试方法在处理大数据时可能会遇到性能瓶颈,因此需要采用分布式计算和存储技术,例如Hadoop和Spark。

这些技术可以将数据分割成小块,并在集群中并行处理,提高测试效率和准确性。

1.2 数据质量的验证大数据中的数据质量是一个关键问题。

在进行大数据测试时,需要对数据的准确性、完整性、一致性和及时性进行验证。

测试人员可以使用合适的数据质量工具,例如数据验证和数据清洗工具,来检测和修复数据中的错误和异常。

1.3 多样化的数据类型大数据包含多种数据类型,例如结构化数据、半结构化数据和非结构化数据。

为了确保测试的全面性,测试人员需要针对不同类型的数据进行测试,并选择适当的测试方法。

例如,可以使用数据分析工具和数据挖掘算法,以发现隐藏在非结构化数据中的潜在问题。

2. 数据仓库测试2.1 数据一致性的验证数据仓库通常用于集成和存储多个数据源的数据,因此数据一致性是一个重要的测试目标。

测试人员需要验证数据在不同数据源之间的一致性,以及与源系统之间的一致性。

为了实现数据一致性的验证,可以采用数据比对和数据校验等技术手段。

2.2 查询性能的测试数据仓库的一个主要功能是支持复杂的分析查询。

在测试数据仓库时,需要关注其查询性能。

可以模拟真实场景中的查询请求,并评估查询的响应时间和吞吐量。

同时,还需要注意数据仓库的扩展性和容量,以确保其能够处理未来的数据增长。

2.3 数据转换和清洗的测试在数据仓库建设过程中,数据转换和清洗是一个重要的步骤。

测试人员需要验证数据转换和清洗的准确性,并检查数据是否按照预期的方式转换和清洗。

大数据平台测试标准

大数据平台测试标准

大数据平台测试标准引言概述:随着大数据技术的快速发展,越来越多的企业和组织开始使用大数据平台来管理和分析海量数据。

然而,由于数据量的庞大和复杂性,大数据平台的测试变得愈发重要。

本文将介绍大数据平台测试的标准和方法,以确保其功能和性能的稳定和可靠。

一、功能测试1.1 数据采集功能测试- 确保数据采集模块能够正确地从各种数据源(如数据库、文件系统、传感器等)中获取数据。

- 验证数据采集的准确性和完整性,确保数据能够按照预期的方式被正确地读取和导入到大数据平台中。

- 测试数据采集模块的可扩展性和容错性,以确保在数据量增加或数据源变化时,系统能够正常工作。

1.2 数据存储功能测试- 检查数据存储模块是否能够正确地将数据存储到大数据平台中的分布式文件系统或数据库中。

- 验证数据存储的一致性和可靠性,确保数据在存储过程中不会丢失或损坏。

- 测试数据存储模块的性能和可扩展性,以确保在处理大规模数据时,系统能够高效地存储和检索数据。

1.3 数据处理功能测试- 验证数据处理模块能够正确地对数据进行清洗、转换和计算等操作。

- 检查数据处理的准确性和效率,确保数据能够按照预期的方式被处理和分析。

- 测试数据处理模块的可扩展性和容错性,以确保在处理大规模数据和复杂计算任务时,系统能够稳定运行。

二、性能测试2.1 数据采集性能测试- 测试数据采集模块的吞吐量和响应时间,以评估其在高负载情况下的性能表现。

- 检查数据采集模块的并发处理能力,以确保系统能够同时处理多个数据源的数据。

- 测试数据采集模块的可伸缩性,以评估其在数据量增加时的性能表现。

2.2 数据存储性能测试- 测试数据存储模块的读写性能,以评估其在大规模数据存储和检索时的性能表现。

- 检查数据存储模块的并发处理能力,以确保系统能够同时处理多个读写请求。

- 测试数据存储模块的可伸缩性,以评估其在数据量增加时的性能表现。

2.3 数据处理性能测试- 测试数据处理模块的处理速度和资源消耗情况,以评估其在大规模数据处理和复杂计算任务时的性能表现。

关于测试工作流程及工具使用

关于测试工作流程及工具使用

关于测试工作流程及工具使用测试工作流程是软件开发过程中非常重要的一环,它涵盖了测试计划的制定、测试设计的编写、测试执行的过程和结果的评估等内容。

而工具的使用则是为了更加高效和准确地完成测试工作。

在本文中,我将详细介绍测试工作流程及常用的测试工具的使用。

一、测试工作流程测试工作流程通常包括以下几个步骤:1.测试计划:在制定测试计划阶段,测试团队需要与开发团队一起分析需求和设计文档,明确测试的范围和目标,并制定相应的测试策略和计划。

2.测试设计:在测试设计阶段,测试团队需要编写测试用例或测试脚本,这些测试设计应该基于需求和设计文档,并覆盖各种场景和功能模块。

3.测试环境搭建:测试环境的搭建是为了模拟真实的软件运行环境,包括硬件和软件的配置。

测试人员需要根据测试需求配置相应的环境,并确保测试环境的稳定性和一致性。

4. 测试执行:测试执行阶段是将测试设计转化为实际的测试工作,包括执行测试用例、记录测试结果、记录bug等。

测试人员需要按照测试计划和设计,执行测试工作,并及时反馈测试结果给开发团队。

5.缺陷管理:在测试执行过程中,测试人员会发现各种缺陷和问题。

测试人员需要将这些缺陷记录下来,并及时向开发团队反馈,开发团队再进行修复和验证。

6.测试评估:在测试执行之后,测试团队需要评估测试结果和缺陷情况,以判断软件的质量和稳定性。

根据评估的结果,测试团队可以提供最终的测试报告,并决定是否进行迭代测试或发布软件。

二、测试工具的使用测试工具能够帮助测试人员更加高效和准确地完成测试工作。

以下是几种常用的测试工具:1. 测试管理工具:测试管理工具用于管理和跟踪测试过程和结果,包括测试用例的编写、执行和统计。

常见的测试管理工具包括TestRail、Jira等。

2. 缺陷管理工具:缺陷管理工具用于跟踪和管理软件中的缺陷和问题。

通过缺陷管理工具,测试人员可以记录缺陷、分配给开发人员、跟踪修复进度、验证修复结果等。

常见的缺陷管理工具包括Bugzilla、Jira 等。

服务器性能测试和基准测试方法

服务器性能测试和基准测试方法

服务器性能测试和基准测试方法服务器性能测试和基准测试方法是评估服务器硬件和软件性能的一种有效手段。

通过性能测试和基准测试,可以了解服务器的承载能力、响应时间和资源利用率等关键指标,帮助企业选择合适的服务器方案,优化系统性能,提高用户体验。

本文将介绍服务器性能测试和基准测试的方法和步骤。

一、性能测试方法性能测试是通过模拟真实场景对服务器进行负载测试,以检测服务器在高负载下的表现和性能瓶颈。

常见的服务器性能测试方法包括负载测试、压力测试和稳定性测试。

1. 负载测试(Load Testing)负载测试是模拟真实用户并发情况对服务器进行测试的方法,主要目的是评估服务器在不同负载下的性能表现。

负载测试可以通过工具软件模拟并发用户的请求,测试服务器的吞吐量、响应时间、资源利用率等指标。

在负载测试中,可以通过调整并发用户数量、请求频率等参数来模拟不同的负载情况。

2. 压力测试(Stress Testing)压力测试是对服务器进行极限加载的测试方法,通过不断增加负载,测试服务器的极限性能和稳定性。

在压力测试中,可以通过增加并发用户数量、提高请求频率等方式来增加服务器的负载,直至达到服务器的极限承载能力。

压力测试可以帮助发现服务器的性能瓶颈和资源不足问题,并进行相应的优化。

3. 稳定性测试(Stability Testing)稳定性测试是在长时间运行的情况下对服务器进行测试的方法,主要目的是检测其在长期运行中的稳定性和可靠性。

稳定性测试可以模拟真实场景下的长期运行状况,测试服务器对连续负载的适应性和稳定性。

在稳定性测试中,可以通过监测服务器的运行状态、资源使用情况、错误日志等来评估服务器的稳定性。

二、基准测试方法基准测试是通过对服务器在标准环境下进行测试,获取基准性能指标,以便与其他系统进行比较和评估。

常见的基准测试方法包括基准测试套件和基准测试工具。

1. 基准测试套件(Benchmark Suite)基准测试套件是一组标准化的测试程序,用于评估服务器硬件和软件性能。

大数据平台基准测试流程(测试工具)解析

大数据平台基准测试流程(测试工具)解析

43引言互联网的普及已经连接了全世界近30亿人口,目前,互联网上的网页数目已经突破10亿[1],大量的数据在网络中产生,而新的互联网技术和应用的结合形成了丰富的数据源,并带来数据量爆发式的增长。

大数据在数据量、数据类型和处理时效性等方面带来了新的挑战,应运而生的大数据处理技术采用分布式文件系统、分布式并行计算框架等模型以低廉的价格解决大数据的挑战。

新的计算框架和数据库系统层出不穷,大数据产品和系统不断推陈出新,催生出对这些产品和技术进行基准对比的需求。

大数据基准测试从具体应用中抽象出有代表性的负载,根据真实数据的特征和分布生成可扩展的数据集,以相应的指标衡量负载处理数据集的效果,以此来比较大数据处理系统的性能。

本文结合大数据处理系统的特点,阐述大数据基准测试的要素和构建流程,最后从数据、负载和软件栈等方面比较现有基准测试工具,并展望未来基准测试工具的发展方向。

1 大数据起源和特点随着互联网技术的发展,产生了越来越多的数据来源。

互联网应用记录着用户每天在网上的行为数据,用户的社交数据、搜索数据、购物数据都被一一记录下来。

而线下的生活也处处与网络相关,通话记录、医疗数据、环境数据、财务数据也通过网络留存下来。

工业互联网中的机器配备了传感器和网络传输装置,积累了大量机器数据。

物联网连接地球上所有的人和物,感知并跟踪着物体和人的状态。

据IDC 预测,从2005年到2020年,全球数据量将会从130EB 增长到40ZB [2]。

随着数据源种类的激增,新的数据不仅在数据量上有了很大的体量,其数据结构也不同于以往的关系型数据结构,智能设备、传感器和各种应用的兴起,视频、图片、音频、文档、网页和日志等大量非结构化的数据蜂拥而来,为当前的数据处理带来新的挑战。

互联网服务的进化,使得用户对数据处理的速度有了更高要求,数据量规模和数据类型复杂性的增加对大数据处理速度带来挑战。

IBM 从四个维度定义大数据,即数量(Volume、种类(Variety、速度(Velocity、真实性(Veracity[3]。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Research & Development研究与开发大数据基准测试流程与测试工具姜春宇1 孟苗苗21 工业和信息化部电信研究院标准所,云计算标准与测试验证北京市重点实验室北京 1001912 中国联合网络通信有限公司北京 100033摘要当前大数据产品和技术的发展非常迅速,市场中存在各种各样的商业版和开源的大数据软件,这些大数据系统解决了大数据大体量、多样性、时效性的挑战。

随着大数据产品和技术成熟,如何去测试和评估这些大数据产品成为新的研究主题。

文章简要介绍大数据兴起的背景,综述大数据处理系统的主要构成,并针对大数据处理系统的特点,提出构建大数据基准测试平台的要素和流程,最后介绍当前大数据基准测试工具和存在的问题,展望未来大数据基准测试工具的发展方向。

关键词大数据;大数据平台;大数据基准测试;数据;负载;指标引言互联网的普及已经连接了全世界近30亿人口,目前,互联网上的网页数目已经突破10亿[1],大量的数据在网络中产生,而新的互联网技术和应用的结合形成了丰富的数据源,并带来数据量爆发式的增长。

大数据在数据量、数据类型和处理时效性等方面带来了新的挑战,应运而生的大数据处理技术采用分布式文件系统、分布式并行计算框架等模型以低廉的价格解决大数据的挑战。

新的计算框架和数据库系统层出不穷,大数据产品和系统不断推陈出新,催生出对这些产品和技术进行基准对比的需求。

大数据基准测试从具体应用中抽象出有代表性的负载,根据真实数据的特征和分布生成可扩展的数据集,以相应的指标衡量负载处理数据集的效果,以此来比较大数据处理系统的性能。

本文结合大数据处理系统的特点,阐述大数据基准测试的要素和构建流程,最后从数据、负载和软件栈等方面比较现有基准测试工具,并展望未来基准测试工具的发展方向。

用户的社交数据、搜索数据、购物数据都被一一记录下来。

而线下的生活也处处与网络相关,通话记录、医疗数据、环境数据、财务数据也通过网络留存下来。

工业互联网中的机器配备了传感器和网络传输装置,积累了大量机器数据。

物联网连接地球上所有的人和物,感知并跟踪着物体和人的状态。

据IDC 预测,从2005年到2020年,全球数据量将会从130EB 增长到40ZB [2]。

随着数据源种类的激增,新的数据不仅在数据量上有了很大的体量,其数据结构也不同于以往的关系型数据结构,智能设备、传感器和各种应用的兴起,视频、图片、音频、文档、网页和日志等大量非结构化的数据蜂拥而来,为当前的数据处理带来新的挑战。

互联网服务的进化,使得用户对数据处理的速度有了更高要求,数据量规模和数据类型复杂性的增加对大数据处理速度带来挑战。

IBM 从四个维度定义大数据,即数量(Volume、种类(Variety、速度(Velocity、真实性(Veracity[3]。

大数据具备大体量、多样性、高时效性和真实性等特征。

2 大数据处理平台的构成1 大数据起源和特点随着互联网技术的发展,产生了越来越多的数据来源。

互联网应用记录着用户每天在网上的行为数据,大数据的大体量、多样性和处理的时效性是传统单设备纵向扩展无法解决的,这种挑战首先在互联网搜索中体现出来,搜索引擎需要检索和存储的网站数量庞43研究与开发 Research & Development大,以非结构化数据为主,为此谷歌率先于2004年提出一套分布式数据处理的技术体系,即能够横向扩展的分布式文件系统(GFS、分布式计算系统(MapReduce和分布式数据库(BigTable等技术,以较低成本很好地解决了大数据面临的困境,奠定了大数据技术的基础。

受谷歌论文启发,Apache Hadoop 实现了自己的分布式文件系统(HDFS、分布式计算系统(MapReduce和分布式数据库(Hbase,并将其开源,从而加速了大数据技术和应用的发展。

大数据处理平台主要由分布式文件系统、分布式计算平台、分布式存储系统等构成。

以Hadoop 为例,其基本组件如图1所示。

够较全面地反应系统的特性。

3 明确测试指标,大数据基准测试主要从性能、能效、性价比、可靠性等角度衡量大数据系统和架构。

4 确定基准测试所针对的软件系统和框架,不同框架处适用的场景不同。

4 测试流程大数据基准测试主要有三个流程,即数据生成、负载选择和指标选择。

简要来说,数据生成主要生成不同的数据类型并满足大数据的四V 特点;负载选择主要是选择合适的负载以运行数据产生结果;指标选择确定衡量的维度,以便从不同方面评估大数据框架。

4.1 数据生成大数据基准测试通常要么采用现实数据,要么合成数据。

使用现实数据存在两个困难,首先,大多数情况下数据都是企业比较敏感的部分,企业通常不愿意公开提供数据;其次,现实数据只适应于特定应用场景,有其局限性,无法适应所有负载;所以,用数据生成工具合成数据成为大数据基准测试通常采用的方法。

数据生成分为数据筛选、数据处理、数据生成和格式转换四步。

4.1.1 生成步骤1 数据筛选。

在筛选数据时,①需要考虑数据和负载的匹配性,数据类型应该符合特定负载的要求,数据集需要来源于特定的大数据应用场景,如电子商务、搜索引擎、社交网络等,并符合真实数据的数据特征和分布特征;②根据测试机器的数量和应用的特点,评估数据量的大小。

2 数据处理。

待处理的数据是建立在能保持原始数据的特性并能消除其中敏感信息的基础上进行相关操作的。

针对不同的数据类型,应该采用该类领域中有代表性的数据建模方法对真实数据进行建模,抽取出数据的特征,并将这些特征存储在模型文件中。

3 数据生成。

数据生成通常需要特定的生成工具来完成,生成工具依据不同类型的数据处理过程来设计。

首先需要提出数据的模型特征,基于提取出的模型和所需的数据量生成测试数据。

除了需要保证所选用建模方法的模型特性外,还要满足在数据生成过程中通过参数来控制数图1 Hadoop基本组件3 大数据基准测试要素基于Hadoop 和Spark 原理的大数据处理平台在工业界和学术界都得到了广泛应用,谷歌、Facebook 、百度、阿里巴巴等互联网公司早已研发部署了大数据处理系统,越来越多的中级企业开始在大数据基础平台之上开发大数据应用,IDG 调研了751家企业,其中49%的企业反馈已经或正在实现大数据项目[4]。

尽管大数据的平台和应用发展迅速,但缺少基准来衡量大数据平台的性能,而且大数据系统的复杂性、多样性和变化性为评估带来很大困难。

大数据基准测试能够评估和比较大数据系统和架构,其主要作用有三个方面。

1 它能提升大数据领域的技术、理论和算法,并挖掘出大数据的潜在价值和知识。

2 它能帮助系统开发人员设计系统功能、调优系统性能、提升部署方法[5]。

3 它容许用户比较不同系统的性能,帮助选购产品。

设计大数据基准测试通常包含以下考虑。

1 选择数据和生成数据,确定数据集的大小、类型以及覆盖的应用场景,提供数据集或者数据生成的工具。

2 确定测试负载,负载需要覆盖不同的应用场景,具有代表性,能44Research & Development研究与开发据生成的并发量和大小,不同的参数可以模拟出不同的应用场景;不同的数据生成工具通过建模步骤,保证生成的测试数据保持原有数据的数据特征,并且可以缩放至大数据规模。

4 数据格式转换。

这个流程保证生成数据能通过格式转换工具生成符合特定应用的输入格式。

4.1.2 示例例如,通过分析应用和负载需求,假设现在要生成1T 左右的文本数据。

首先选择网络上开放维基百科的数据源,以此数据源为样本,利用开源的数据生成工具并提取出数据的特征,数据生成工具根据数据特征和需要扩展的数据量(这里是1T 来生成数据集,这样就能得到基于实际应用中数据扩展的数据集。

最后,根据负载需要的输入格式再对数据集的格式进行转化。

点。

如表1所示,选取TeraSort 、PageRank 和Naïve Bayes 来测试Hadoop ,这三个算法分别属于I/O资源密集、混合和计算资源密集的任务;选取Join Query 来测试Hive 组件,Read/Write/Scan负载来测试HBase 组件,它们分别属于计算密集和I/O密集负载。

表1 测试负载示例4.3 指标测试指标主要分为两类,一类是从用户角度出发的指标,这类指标注重于直观化,让用户容易理解[6];第二类指标是从架构的角度出发的,主要考量系统架构的能力。

第一类的指标主要有每秒执行的请求数,请求延迟和每秒执行的操作数;第二类指标注重比较系统性能间的差异,主要有每秒浮点计算速度和每秒数据吞吐量等。

在实际测试中,为比较不同平台之间的差异,可以从以下四个维度来评估大数据平台:性能、能耗、性价和可靠性,具体介绍和计算方式见表2。

表2 测试指标4.2 负载选择负载是大数据基准需要执行的具体任务,用来处理数据并产生结果,负载将大数据平台的应用抽象成一些基本操作。

由于行业和领域的不同,其应用有很多不同的特点,从系统资源消耗方面负载可分为计算密集型、I/O密集型和混合密集型的任务。

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

选择负载有两种策略。

第一种是从企业应用的场景出发,模拟企业应用流程,采用应用中的真实数据进行测试。

例如一家从事搜索的企业,其应用场景可以基本抽象为Nutch 、Index 和PageRank 三种负载;银行的典型应用主要是账单查询、帐目的更改等,可以抽象为对数据库表的查询和更改。

第二种是从通用的角度来考量,从测试整个大数据平台的角度出发,选择负载时需要覆盖大数据处理平台主要组件即分布式计算框架、分布式文件系统和分布式存储的能力。

以Hadoop 平台为例,负载主要需要测试Hadoop(包括HDFS 和MapReduce 、数据仓库(Hive和NoSQL 数据库的能力。

测试负载需要覆盖多种应用类型和任务的资源特5 大数据测试工具当前大数据基准工具有很多,主要分为三种类型。

一类属于微型负载,这类负载测试只测试大数据平台的某个特定组件或应用,例如GridMix 是面向Hadoop 集群的测试基准;TeraSort 只针对文本数据的排序;雅虎开发的YCSB 对比NoSQL数据库的性能,其目的是评估键值和云数据库[7];Facebook 的LinkBench 专门用于45研究与开发 Research & Development测试存储社交图谱和网络服务的数据库[8]。

第二类是综合类的测试工具,模拟几类典型应用,覆盖大数据软件平台的多个功能组件,比如英特尔的Hibench 是针对Hadoop 和Hive 平台的基准测试工具,其负载按照业务能分为微型负载、搜索业务、机器学习和分析请求等四类[9];BigDataBench 是中科院计算所提出的大数据测试工具,覆盖了结构数据、半结构数据和非结构数据,其负载模拟了搜索引擎、社交网络和电子商务等业务模型[6]。

相关文档
最新文档