开发者社区 > 大数据与机器学习 > 大数据计算 MaxCompute > 正文

线上生产环境的极致性能稳定性体现在哪些方面?

已解决

线上生产环境的极致性能稳定性体现在哪些方面?

展开
收起
游客lmkkns5ck6auu 2022-08-10 10:59:45 380 0
1 条回答
写回答
取消 提交回答
  • 推荐回答

    (1)流控和负载均衡 前面的数据归集模型中,shuffle agent 作为新角色衔接了 mapper 的数据发送与数据落盘。分布式集群中磁盘、网络等问题可能影响这条链路上的数据传输,节点本身的压力也可能影响 shuffle agent 的工作状态。当因集群热点等原因使得 shuffle agent 负载过重时,我们提供了必要的流控措施缓解网络和磁盘的压力;和模型中一个reducer 有一个 shuffle agent 收集数据不同,我们使用了多个 shuffle agent 承担同样的工作,当发生数据倾斜时,这个方式可以有效地将压力分散到多个节点上。从线上表现看,这些措施消除了绝大多数的 shuffle 期间拥塞流控和集群负载不均现象。

    (2)故障 shuffle agent 的切换 各种软硬件故障导致 shuffle agent 对某个 reducer 的数据工作不正常时,后续数据可以实时切换到其他正常 shuffle agent. 这样,就会有更多的数据可以从 shuffle agent 侧读到,而减少低效的备份副本访问。

    (3)Shuffle agent 数据的回追 很多时候发生 shuffle agent 切换时(如机器下线),原 shuffle agent 生成的数据可能已经丢失或访问不到。在后续数据发送到新的 shuffle agent 同时,Fuxi 还会将丢失的部分数据从备份副本中 load 起来并同样发送给新的 shuffle agent, 使得后续 reducer 所有的数据都可以读取自 shuffle agent 侧,极大地提升了容错情况下的作业性能。

    (4)新 shuffle 模式的探索 前述数据归集模型及全面扩展优化,在线上集群中单位资源处理的数据量提升了约 20%, 而因出错重试的发生频率降至原来文件系统 shuffle 的 5% 左右。但这就是最 高效的 shuffle 方式了吗?我们在生产环境对部分作业应用了一种新的 shuffle 模型,这种模型中 mapper 的发送端和 reducer 的接收端都通过一个 agent 节点来中转 shuffle 流量。线上已经有部分作业使用此种方式并在性能上得到了进一步的提升。

    以上内容摘自《“伏羲”神算》电子书,点击https://developer.aliyun.com/topic/download?id=873

    2022-08-10 18:00:33
    赞同 展开评论 打赏

MaxCompute(原ODPS)是一项面向分析的大数据计算服务,它以Serverless架构提供快速、全托管的在线数据仓库服务,消除传统数据平台在资源扩展性和弹性方面的限制,最小化用户运维投入,使您经济并高效的分析处理海量数据。

相关电子书

更多
智能化压测-应用稳定性基石 立即下载
云上成本优化实践 立即下载
性能优化和体系化运维 立即下载