zoukankan      html  css  js  c++  java
  • rgw配置删除快速回收对象

    前言

    做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左右

    上面的gc相关的参数是哪里控制的

    做了一个实验,通过给不同的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
  • 相关阅读:
    PAT 甲级 1113 Integer Set Partition
    简单 dp
    #Leetcode# 707. Design Linked List
    #Leetcode# 817. Linked List Components
    #Leetcode# 268. Missing Number
    #Leetcode# 328. Odd Even Linked List
    #Leetcode# 445. Add Two Numbers II
    jzoj 1252. 天平
    2019.01.26【NOIP提高组】模拟 B 组 总结
    【NOIP2011DAY2】计算系数
  • 原文地址:https://www.cnblogs.com/zphj1987/p/13631440.html
Copyright © 2011-2022 走看看