Glusterfs 调优

  • Post author:
  • Post category:其他


直接上干货,替换volume 名称,CPU、memory 根据实际机型来配置

gluster volume info
gluster volume get user-data  all |grep event -A7 

net.ipv4.tcp_congestion_control=htcp

# // 打开metadata-cache,打开这个选项可以提高在mount端操作文件、目录元数据的性能,这个cache的是有一个过期时间,默认是10分钟,如下命令是打开客户端的元数据cache的命令
gluster volume set user-data group metadata-cache


# // 增加cache的inode的数量,默认是200000,采用lru的淘汰策略进行过期inode
gluster volume set user-data  network.inode-lru-limit 500000

gluster volume set user-data   cluster.lookup-optimize on


// 设置performance.readdir-ahead的内存,默认是10mb,可以适当调大,比如设置为128MB
gluster volume set user-data  performance.rda-cache-limit 512mb


// 文件和目录创建优化,提供文件和目录创建速度
gluster volume set user-data  group nl-cache
gluster volume set user-data  nl-cache-positive-entry on


//小文件读性能优化
gluster volume set user-data  performance.cache-invalidation on
gluster volume set user-data  features.cache-invalidation on 
gluster volume set user-data  performance.qr-cache-timeout 600 
gluster volume set user-data  cache-invalidation-timeout 600 


// 目录并行读的优化  off
gluster volume set user-data performance.parallel-readdir on


// 指定客户端网络请求的同时处理的个数,默认是2,这个参数不要超过cpu core的个数
gluster volume set user-data client.event-threads  32


// 指定服务端网络请求的同时处理的个数,默认是2,这个参数值不要超过cpu core的个数
gluster volume set user-data server.event-threads  32

// glusterfs开启IO缓存的功能
gluster volume set user-data  performance.io-cache  on

// glusterfs开启IO缓存的功能
gluster volume set user-data  performance.io-cache  on
// 数据读取的cache的内存大小,按照业务特性和机器配置来设定这个值  默认32MB
gluster volume set user-data  performance.cache-size 256GB 

// 设定缓存文件的最大尺寸,默认是0
gluster volume set user-data performance.cache-max-file-size 1024MB

// 设置缓存文件的最小尺寸,默认是0
gluster volume set user-data performance.cache-min-file-size 1MB


// 在dht上生效的,是指在查找时候,如果在hash所在节点上没有找到相应文件的话,去所有节点上查找一遍。
gluster volume set user-data lookup-unhashed off

// 设置write-behind开启后,内部队列积累的数据量上线,默认是128KB,这个值视情况而定
gluster volume set user-data  aggregate-size 8mb 

// 设置实际做IO操作线程的数量,建议不超过cpu core的数量  默认16
gluster volume set user-data   performance.io-thread-count 64


// 设定每个glusterfsd 处理请求的队列的上线,尽量让glusterfsd 进行处理,默认是64
gluster volume set user-data  server.outstanding-rpc-limit 2048 

// performance.write-behind和performance.flush-behind开启情况下,设置write buffer,默认是1M。建议设计在32~64M,等buffer满了会把请求往服务端请求

gluster volume set user-data  performance.write-behind-window-size 64MB


// 默认是10s,如果检测到10s,磁盘或者文件系统有问题会导致glusterfsd自杀,然后退出
gluster volume set user-data  storage.health-check-timeout 10


// 指定可以在后台执行并行修复的每个客户端自我修复作业的数量。
gluster  volume set platform-data  cluster.background-self-heal-count  16


// 启用和禁用客户端 io 线程转换器。   

gluster  volume set  platform-data   performance.client-io-threads on 


gluster  volume set  platform-data  performance.cache-max-file-size 2048MB

// 设置 io-cache 转换器缓存的最小文件大小。值与上面的“max”相同
gluster  volume set  platform-data  performance.cache-min-file-size  2048MB


// 指定是否尝试最小化文件 I/O 的缓存影响。当启用此选项并使用 O_DIRECT 标志打开文件描述符时,对于影响该文件描述符的写入将禁用回写缓存。禁用此选项时,O_DIRECT 对缓存没有影响。如果禁用了 Performance.write-behind,则忽略此选项。
gluster  volume set  platform-data  performance.strict-o-direct on 


//指定单个文件或索引节点的后写缓冲区的大小。
gluster  volume set   platform-data  performance.write-behind-window-size 128MB 


// 指定启用分片时文件分片的最大大小。影响卷配置后创建的文件。
gluster  volume set  platform-data  features.shard-block-size  40960MB


// 设置为off
gluster  volume set platform-data  performance.io-cache  off
gluster  volume set platform-data  performance.read-ahead   off
gluster  volume set platform-data  performance.readdir-ahead    off
gluster  volume set platform-data  network.inode-lru-limit  1048576 



版权声明:本文为weixin_43798031原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。