腾讯工程师独家分享:Alluxio线程池调优

时间:2022-10-26 19:07:39

腾讯工程师独家分享:Alluxio线程池调优

Alluxio线程池结构与吞吐量调优

导语

Alluxio 是一个开源的数据编排系统,致力于解决解决大数据分析及 AI 场景下的一些痛点问题,它可以加速数据查询和AI模型训练的速度,提升系统在高并发场景下的高可用能力。这些应用场景决定了 Alluxio 需要具备大吞吐量特性,本文首先介绍 Alluxio Master 的线程池结构,基于线程池分析结果提出 Alluxio 吞吐量调优方案。

业务背景

本次线程池结构分析与调优的对象是 Alluxio 的开源版本,且 Alluxio 的配置项均为默认配置项,分析的场景是游戏 AI 的特征计算阶段。特征计算需要大量读取用户数据分析用户操作,然后针对计算结果进行游戏环境的还原。特征计算任务初期会有数千至上万的进程同时对底层分布式存储节点发起访问,产生流量洪峰。在这种读密集场景下,Alluxio 的高吞吐可以有效缓解存储端压力。

Alluxio 默认线程池结构与 JVM 参数

在业务运行过程中,通过 jstack 生成系统线程信息,导入FastThread分析。分析结果如下:

腾讯工程师独家分享:Alluxio线程池调优