开发者社区> 问答> 正文

如何实现文件存储HDFS性能优化和测试?

如何实现文件存储HDFS性能优化和测试?

展开
收起
小天使爱美 2020-03-31 02:38:45 766 0
1 条回答
写回答
取消 提交回答
  • 性能优化最佳实践 您可以通过调整core-site.xml配置、TestDFSIO配置或避免使用小文件来优化集群性能。

    建议一:调整core-site.xml配置 在测试集群吞吐性能之前建议在core-site.xml文件中增加或修改如下配置,同步到所有依赖hadoop-common的节点上并重启集群服务。

    alidfs.default.write.buffer.size 8388608 To achieve high write throughput, no less than 1MB, no more than 8MB alidfs.default.read.buffer.size 8388608 To achieve high read throughput, no less than 1MB, no more than 8MB alidfs.use.buffer.size.setting false dfs.connection.count 16 If multi threads in the same process will read/write to DFS, set to count of threads alidfs.use.buffer.size.setting:该值配置成false表示文件存储HDFS使用alidfs.default.write.buffer.size和alidfs.default.read.buffer.size配置的值。该值配置成true表示文件存储HDFS使用hadoop配置的值。 alidfs.default.write.buffer.size:表示写缓存区的大小,单位为Byte。适当的缓存大小可以提供更高的吞吐,建议配置在1MB和8MB之间。 alidfs.default.read.buffer.size:表示读缓存区的大小,单位Byte。适当的缓存大小可以提供更高的吞吐,建议配置在1MB和8MB之间。 dfs.connection.count:表示单SDK内的连接池数目,建议配置为16。 建议二:调整TestDFSIO配置 在使用TestDFSIO测试集群吞吐性能时建议您将-nrFiles参数值设置成500。

    -nrFiles:该参数表示读/写文件的个数和测试TestDFSIO时的并发度,提高并发度可以更好的测试集群的吞吐性能,该参数建议配置为500。

    建议三:尽量避免使用小文件 处理小文件并非Hadoop的设计目标,Hadoop分析引擎处理大量小文件的速度远远小于处理同等数据量的大文件的速度。每一个小文件都会占用一个task,而task启动将耗费大量时间,造成作业的大部分时间都耗费在启动task和释放task上。将存储在文件存储HDFS上的小文件聚合成大文件会对整体的分析性能有较大帮助。

    集群吞吐性能测试 本文介绍集群在顺序写、顺序读、随机写等方面的性能测试方法。

    2020-03-31 02:39:45
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
用AI 高效测试移动应用 立即下载
移动互联网测试到质量的转变 立即下载
给ITer的技术实战进阶课-阿里CIO学院独家教材(四) 立即下载