Ceph RGW GC配置参数说明
配置参数
- rgw_gc_max_objs
描述:一个垃圾回收处理周期内垃圾回收可以处理的最大对象数(并发)。
类型:整数
默认:32
- rgw_gc_obj_min_wait
描述:垃圾收集处理可以删除和处理对象之前的最短等待时间(空间回收间隔,默认2小时)。
类型:整数
默认:2 * 3600
- rgw_gc_processor_max_time
描述:两个连续垃圾回收处理周期开始之间的最长时间(执行时长)。
类型:整数
默认:3600
- rgw_gc_processor_period
描述:垃圾收集处理的周期时间(间隔)。
类型:整数
默认:3600
优化说明
- GC worker的数量由 rgw_gc_max_objs 来控制,设置这个参数的时候要考虑到你线上业务是否会有大量的GC操作,不要盲目调高。有一个问题需注意:当你gc队列中有任务,这时你强制减少 rgw_gc_max_objs 数量,这时出现的结果:pool里面有数据残留。
- rgw_gc_processor_max_time 控制每次GC任务最多能够执行的时长,要考虑到你底层存储设备的负载情况,高速存储设备可以适当缩小,但是当底层存储设备比较慢并且负载较高的时候,考虑到GC的额外性能消耗,可能就要调大这个时长了。
- rgw_gc_obj_min_wait 这个控制删除数据以后多久以后开始真正的底层数据回收,默认是2小时,如果线上对空间资源利用率比较敏感,可以适当缩短。
- rgw_gc_processor_period 这个控制多久时长以后GCworker开始下一轮的GC操作,如果单次GC需要操作的列表条目数较少,可以适当缩短这个参数。
修改参数值方法
- 修改参数值:
ceph config set mgr rgw_gc_obj_min_wait 3600
或:
ceph config set mgr.c1 rgw_gc_obj_min_wait 3600
- 查看参数值:
ceph config get mgr rgw_gc_obj_min_wait # 仅限Octopus版本以上
ceph config get mgr.c1 rgw_gc_obj_min_wait
- 查看GC队列:
radosgw-admin gc list --include-all | less