做rgw测试的时候,经常会有删除文件的操作,而用默认的参数的时候,rgw是通过gc回收机制来处理删除对象的,这个对于生产环境是有好处的,把删除对业务系统的压力分摊到不同的时间点,但是测试的时候,可能需要反复的写入删除,而这种情况下,可能希望能够迅速的回收对象,那么就需要修改几个参数了
主要调整下面的几个参数
rgw_gc_obj_min_wait = 30
rgw_gc_processor_max_time = 180
rgw_gc_processor_period = 2
删除的步骤如下
1、删除以后进入gc队列
2、等待rgw_gc_obj_min_wait时间后开始处理
3、执行rgw_gc_processor_max_time时间的gc操作
4、等待rgw_gc_processor_period时间进入下一次gc操作
调整以后,删除就能够很快的回收了
查询删除以后执行gc的时间
[root@lab201 ~]# radosgw-admin gc list --include-all|grep time;date
"time": "2020-09-08 17:26:20.0.873326s",
Tue Sep 8 17:25:52 CST 2020
可以看到上面执行删除操作后,通过命令查询下一次gc的时间与当前的时间差就是30s左右
做了一个实验,通过给不同的rgw网关配置不同的gc参数,然后通过不同的网关去删除数据,可以看到,这个删除是由网关决定的,下面的是默认的参数做了删除操作以后查看删除的时间,可以看到是两个小时以后才开始删除,也就是rgw_gc_obj_min_wait = 7200
[root@lab201 ~]# radosgw-admin gc list --include-all|grep time;date
"time": "2020-09-08 19:31:01.0.24764s",
Tue Sep 8 17:31:10 CST 2020
那么这里实际上是可以给不同的网关配置不同的参数的,如果想要立刻回收空间的时候,可以配置回收快的参数,然后通过这个网关的端口去删除
控制删除线程的参数
rgw_gc_max_concurrent_io = 10
大量删除的时候可以考虑增大这个参数
Why
Who
When
创建
武汉-运维-磨渣
2020-09-08
手机扫一扫
移动阅读更方便
你可能感兴趣的文章