转载说明:如果您喜欢这篇文章并打算转载它,请私信作者取得授权。感谢您喜爱本文,请文明转载,谢谢。
相关文章:
前言:
在《GlusterFS系统内核调优》一文中,梳理了GFS在系统层面的调优方案,本文则梳理了GFS在自身方面的性能调优方案。
调优方案:
启用元数据缓存
1)执行以下命令以启用元数据缓存和缓存失效
console gluster volume set group metadata-cache
2)要增加可缓存的文件数,请执行以下命令:
console gluster volume set network.inode-lru-limit
n 设置为 50000。如果卷中的活动文件数增加,则可以增加 非常高。增加此数字会增加砖进程的内存占用量。
3)执行以下命令以启用特定于 samba 的元数据缓存:
console gluster volume set cache-samba-metadata on
4)默认情况下,一些xattrs由gluster缓存,例如:capability xattrs、ima xattrs acl等。
如果使用Gluster存储的应用程序使用了其他xattrs,请执行以下命令将这些xattrs添加到元数据缓存列表中:
console Gluster volume set <volname> xattri -cache-list "逗号分隔的xattr list"
例如:
console Gluster volume set <volname> xattri -cache-list "user.org.netatalk.*,user.swift.metadata"
目录操作
除了启用元数据缓存外,还可以将以下选项设置为 提高目录操作的性能:
1)文件/目录列表性能:
# 开启parallel-readdir
console gluster volume set performance.readdir-ahead on gluster volume set performance.parallel-readdir on
2)文件/目录创建性能:
# 开启nl-cache
console gluster volume set <volname> group nl-cache gluster volume set <volname> nl-cache-positive-entry on
上述命令还启用缓存失效,并将超时增加到 10 分钟
小文件读取操作
对于主要使用小文件读取的用例,请启用以下选项
gluster volume set <volname> performance.cache-invalidation on
gluster volume set <volname> features.cache-invalidation on
gluster volume set <volname> performance.qr-cache-timeout 600 # 10 min recommended setting
gluster volume set <volname> cache-invalidation-timeout 600 # 10 min recommended setting
此命令允许在客户端缓存中缓存小文件的内容。启用缓存失效可确保缓存一致性。
总缓存大小可以使用以下方式设置:
gluster volume set <volname> cache-size <size>
默认情况下,会缓存大小为"<=64KB"的文件。要更改此值,请执行以下操作:
gluster volume set <volname> performance.cache-max-file-size <size>
Note that the size arguments use SI unit suffixes, e.g. 64KB or 2MB.
注意:<size>这个参数使用SI单位后缀,例如64KB或2MB。
以上为GlusterFS官网给的Linux调优方案,可根据自身环境,酌情使用。