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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM