
# 提升HDFS写数据性能
#### 操作场景
HDFS写数据性能直接影响整个系统的效率。提升写性能可以减少数据写入时间，加快数据处理流程，提高系统的整体响应速度。通过全面提升HDFS的写数据性能，可以使得HDFS集群更适应自身的业务情况，从而提升HDFS的写性能。
#### 约束与限制
本章节适用于MRS 3.x及后续版本。
#### 操作步骤
1. 登录FusionInsight Manager。 
   登录集群Manager具体操作，请参考[访问MRS集群Manager](https://support.huaweicloud.com/usermanual-mrs/mrs_01_0128.html)。
   
   
2. 选择"集群 \> 服务 \> HDFS \> 配置 \> 全部配置"。
3. 搜索以下参数名称，并根据需要修改参数值。 
   表1HDFS写性能优化配置 
   | **参数**                               | **描述**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      | **默认值** |
   |:---|:---|:---|
   | dfs.datanode.drop.cache.behind.reads | 表示DataNode将缓冲区中的数据传递给客户端后是否自动清除缓冲区中的所有数据。 - true：表示丢弃缓存的数据（需要在DataNode中配置）。 当同一份数据，重复读取的次数较少时，建议设置为true，使得缓存能够被其他操作使用。   - false：重复读取的次数较多时，设置为false能够提升重复读取的速度。   在提升写性能操作中，该参数为可选参数，请根据实际需要进行修改。    | false   |
   | dfs.client-write-packet-size         | 在客户端写入数据时，每个数据包的大小。单位：字节。 当通过HDFS客户端往DataNode写数据时，客户端将数据生成多个数据包，通过网络发送到DataNode进行存储。此参数指定传输数据包的大小，可以通过各Job来指定。 - 较大的数据包可以减少传输次数，提高带宽利用率，提高写入性能，但可能会增加每次传输的延迟。  - 较小的数据包传输延迟较低，但传输次数增加，适用于对延迟敏感的场景。   在万兆网部署下，可适当增大该参数值，来提升传输的吞吐量。 | 262144  |
      
   
   
4. 保存修改的配置。保存完成后请重新启动配置过期的服务或实例以使配置生效。
 
