V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
CloudStorage
V2EX  ›  推广

GooseFS 助力大数据业务数倍提升计算能力

  •  
  •   CloudStorage · 2021-08-10 21:42:28 +08:00 · 741 次点击
    这是一个创建于 1201 天前的主题,其中的信息可能已经有所发展或是发生改变。

    前言

    GooseFS 是由腾讯云推出的一款分布式缓存方案,主要针对包括需要缓存加速的数据湖业务场景,提供基于对象存储 COS 服务的近计算端数据加速层。

    GooseFS 基于开源大数据缓存方案 Alluxio 进行设计和研发。相较于开源方案,GooseFS 提供了更多关键特性,稳定性和性能优化;同时深度融合了腾讯云生态,对接了腾讯云 TKE 、EMR 等计算服务,为用户提供开箱即用的能力。

    缓存加速和数据本地化 GooseFS 提供的重要能力之一。

    • GooseFS 可以与计算节点混合部署提高数据本地性,利用高速缓存功能解决存储性能问题,提高读写对象存储 COS 文件的效率。
    • GooseFS 可以提供近计算端的分布式共享缓存,上层计算应用可以透明地、高效地从远端存储将需要频繁访问的热数据缓存到近计算端,加速数据 I/O 性能。
    • GooseFS 提供了感知元数据 Table 的能力,能够加速大数据场景下列出文件列表( List ),重命名文件( Rename )等元数据操作的性能。此外,业务可以按需选择 HDD,SSD,NVME SSD 等不同的存储介质,平衡业务成本和数据访问性能。 本文介绍了 GooseFS 读写元数据时的表现,并与 HDFS 进行对比;同时也测试了在混合读写情况下 GooseFS 在性能表现上的稳定性。

    01 测试表现

    我们使用 NNBench 进行测试。NNBench 是 HDFS 官方自带的用于测试 NameNode 性能的工具。由于它使用的是标准的 FileSystem 接口,因此可以使用它来测试 GooseFS 服务端的性能。在测试方案上,我们在 GooseFS 和 HDFS 上创建相同的数据集,观察 TPS 值,对比 GooseFS 性能表现情况。

    我们使用了 1 台 EMR 标准型 S2 机器( CPU:8 核,内存:32GB,高效云盘:100G x 1 )作为 GooseFS 集群的 Master 节点,3 台 EMR 标准型 S5 机器( CPU:16 核,内存:64GB,高效云盘:100G x 5 )作为 Worker 节点,同时将 GooseFS 集群缓存策略设置为 wPolicy=MUST_CACHE,rPolicy=CACHE 。

    1. Write 测试

    大数据场景中需要频繁创建文件,我们首先比较了写入文件的性能,由于本次测试主要目的是验证元数据性能表现,因此文件大小选择了 0 字节。测试结果如下所示:

    可以看到,在集群的环境配置,maps 等都相同的情况下:

    ( 1 ) GooseFS 在加载元数据的比 hdfs 性能至少提升 20%。

    ( 2 )数据量增加的时候 GooseFS 处理数据等性能提升更明显。

    这个主要是因为 GooseFS 采用文件粒度锁,可以并发创建文件。而 HDFS 是全局锁,相当于顺序做创建操作。因此写请求 QPS 增加的时候,GooseFS 性能提升更明显。

    2. List 测试

    Write 测试主要测试高并发下元数据服务单点写入、单点查询的性能。然而,文件列表导出( ls/ls -R)操作、文件大小统计( du/count)操作也是用户使用频率较高的操作,这些命令的执行时间,反应了元数据服务遍历操作的执行效率。在测试方案上,为了保证 HDFS 和 GooseFS 测试数据的一致性,我们采用相同的数据集,执行相同的操作,测试 GooseFS 和 HDFS 元数据服务遍历操作的执行效率。

    数据集分两个场景:

    ( 1 )多层级数据:50w 数据,目录层级 4 层。

    ( 2 )单层级数据:单个目录下 10w 文件。

    相关测试结果表现如下:

    可以看到,GooseFS 加速数据 I/O 性能。提供了感知元数据的能力,能够加速大数据场景下列出文件列表 List 等元数据操作的性能。尤其在多层级的数据中性能加速更加明显。

    3 、SliveTest 测试

    SliveTest 位于 hadoop 的 test 包中,代码结构清晰,其主要功能是通过大量 map 制造多种 rpc 请求,检测 Namenode 的性能。我们可以设定 map 数量,每个 map 发起的 rpc 请求次数,每一种 rpc 操作占总操作的百分比,以及读写数据量、block size 等配置。测试 master 混合访问情况下各类请求的 qps 。

    在测试方案上,设置 RPC 请求(读:60%,写:40%)模拟混合访问下,HDFS 和 GooseFS 处理数据的性能。我们将 RPC 设置为:append 10% create 10% delete 10% mkdir 5% rename 5% read 30% ls 30%。

    相关测试结果表现如下:

    可以看到,Master 在混合访问情况下,GooseFS 整体性能表现优于 HDFS 。

    基于上面几个测试,GooseFS 采用文件粒度锁及 list 开启了并发优化,在 SliveTest 这种混合读写(多读少写)的场景中,GooseFS 处理事物的能力明显优于 HDFS 。

    02 总结

    GooseFS 提供了可预测的资源划分和资源使用,使得系统管理员可以对外提供稳定的性能保证。此外,GooseFS 可以给共享存储资源的计算集群带来显著的性能收益。

    GooseFS 提供近计算端的分布式共享缓存,上层计算应用可以透明地、高效地从远端存储将需要频繁访问的热数据缓存到近计算端,加速数据 I/O 性能。关于更多 GooseFS 请前往: https://cloud.tencent.com/document/product/436/56412

    原文链接: https://mp.weixin.qq.com/s/ICWgpa33S9K11suBKJf0Sw

    目前尚无回复
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2764 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 06:28 · PVG 14:28 · LAX 22:28 · JFK 01:28
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.