I agree the settings are rather confusing. We also have many millions of
objects and had this trouble, so i set these rather aggressive gc settings
on our cluster which result in gc almost always running. We also use
lifecycles to expire objects.

rgw lifecycle work time = 00:01-23:59
rgw gc max objs = 2647
rgw lc max objs = 2647
rgw gc obj min wait = 300
rgw gc processor period = 600
rgw gc processor max time = 600


-Ben

On Tue, Oct 24, 2017 at 9:25 AM, David Turner <drakonst...@gmail.com> wrote:

> As I'm looking into this more and more, I'm realizing how big of a problem
> garbage collection has been in our clusters.  The biggest cluster has over
> 1 billion objects in its gc list (the command is still running, it just
> recently passed by the 1B mark).  Does anyone have any guidance on what to
> do to optimize the gc settings to hopefully/eventually catch up on this as
> well as stay caught up once we are?  I'm not expecting an overnight fix,
> but something that could feasibly be caught up within 6 months would be
> wonderful.
>
> On Mon, Oct 23, 2017 at 11:18 AM David Turner <drakonst...@gmail.com>
> wrote:
>
>> We recently deleted a bucket that was no longer needed that had 400TB of
>> data in it to help as our cluster is getting quite full.  That should free
>> up about 30% of our cluster used space, but in the last week we haven't
>> seen nearly a fraction of that free up yet.  I left the cluster with this
>> running over the weekend to try to help `radosgw-admin --rgw-realm=local gc
>> process`, but it didn't seem to put a dent into it.  Our regular ingestion
>> is faster than how fast the garbage collection is cleaning stuff up, but
>> our regular ingestion is less than 2% growth at it's maximum.
>>
>> As of yesterday our gc list was over 350GB when dumped into a file (I had
>> to stop it as the disk I was redirecting the output to was almost full).
>> In the future I will use the --bypass-gc option to avoid the cleanup, but
>> is there a way to speed up the gc once you're in this position?  There were
>> about 8M objects that were deleted from this bucket.  I've come across a
>> few references to the rgw-gc settings in the config, but nothing that
>> explained the times well enough for me to feel comfortable doing anything
>> with them.
>>
>> On Tue, Jul 25, 2017 at 4:01 PM Bryan Stillwell <bstillw...@godaddy.com>
>> wrote:
>>
>>> Excellent, thank you!  It does exist in 0.94.10!  :)
>>>
>>>
>>>
>>> Bryan
>>>
>>>
>>>
>>> *From: *Pavan Rallabhandi <prallabha...@walmartlabs.com>
>>> *Date: *Tuesday, July 25, 2017 at 11:21 AM
>>>
>>>
>>> *To: *Bryan Stillwell <bstillw...@godaddy.com>, "
>>> ceph-users@lists.ceph.com" <ceph-users@lists.ceph.com>
>>> *Subject: *Re: [ceph-users] Speeding up garbage collection in RGW
>>>
>>>
>>>
>>> I’ve just realized that the option is present in Hammer (0.94.10) as
>>> well, you should try that.
>>>
>>>
>>>
>>> *From: *Bryan Stillwell <bstillw...@godaddy.com>
>>> *Date: *Tuesday, 25 July 2017 at 9:45 PM
>>> *To: *Pavan Rallabhandi <prallabha...@walmartlabs.com>, "
>>> ceph-users@lists.ceph.com" <ceph-users@lists.ceph.com>
>>> *Subject: *EXT: Re: [ceph-users] Speeding up garbage collection in RGW
>>>
>>>
>>>
>>> Unfortunately, we're on hammer still (0.94.10).  That option looks like
>>> it would work better, so maybe it's time to move the upgrade up in the
>>> schedule.
>>>
>>>
>>>
>>> I've been playing with the various gc options and I haven't seen any
>>> speedups like we would need to remove them in a reasonable amount of time.
>>>
>>>
>>>
>>> Thanks,
>>>
>>> Bryan
>>>
>>>
>>>
>>> *From: *Pavan Rallabhandi <prallabha...@walmartlabs.com>
>>> *Date: *Tuesday, July 25, 2017 at 3:00 AM
>>> *To: *Bryan Stillwell <bstillw...@godaddy.com>, "
>>> ceph-users@lists.ceph.com" <ceph-users@lists.ceph.com>
>>> *Subject: *Re: [ceph-users] Speeding up garbage collection in RGW
>>>
>>>
>>>
>>> If your Ceph version is >=Jewel, you can try the `--bypass-gc` option in
>>> radosgw-admin, which would remove the tails objects as well without marking
>>> them to be GCed.
>>>
>>>
>>>
>>> Thanks,
>>>
>>>
>>>
>>> On 25/07/17, 1:34 AM, "ceph-users on behalf of Bryan Stillwell" <
>>> ceph-users-boun...@lists.ceph.com on behalf of bstillw...@godaddy.com>
>>> wrote:
>>>
>>>
>>>
>>>     I'm in the process of cleaning up a test that an internal customer
>>> did on our production cluster that produced over a billion objects spread
>>> across 6000 buckets.  So far I've been removing the buckets like this:
>>>
>>>
>>>
>>>     printf %s\\n bucket{1..6000} | xargs -I{} -n 1 -P 32 radosgw-admin
>>> bucket rm --bucket={} --purge-objects
>>>
>>>
>>>
>>>     However, the disk usage doesn't seem to be getting reduced at the
>>> same rate the objects are being removed.  From what I can tell a large
>>> number of the objects are waiting for garbage collection.
>>>
>>>
>>>
>>>     When I first read the docs it sounded like the garbage collector
>>> would only remove 32 objects every hour, but after looking through the logs
>>> I'm seeing about 55,000 objects removed every hour.  That's about 1.3
>>> million a day, so at this rate it'll take a couple years to clean up the
>>> rest!  For comparison, the purge-objects command above is removing (but not
>>> GC'ing) about 30 million objects a day, so a much more manageable 33 days
>>> to finish.
>>>
>>>
>>>
>>>     I've done some digging and it appears like I should be changing
>>> these configuration options:
>>>
>>>
>>>
>>>     rgw gc max objs (default: 32)
>>>
>>>     rgw gc obj min wait (default: 7200)
>>>
>>>     rgw gc processor max time (default: 3600)
>>>
>>>     rgw gc processor period (default: 3600)
>>>
>>>
>>>
>>>     A few questions I have though are:
>>>
>>>
>>>
>>>     Should 'rgw gc processor max time' and 'rgw gc processor period'
>>> always be set to the same value?
>>>
>>>
>>>
>>>     Which would be better, increasing 'rgw gc max objs' to something
>>> like 1024, or reducing the 'rgw gc processor' times to something like 60
>>> seconds?
>>>
>>>
>>>
>>>     Any other guidance on the best way to adjust these values?
>>>
>>>
>>>
>>>     Thanks,
>>>
>>>     Bryan
>>>
>>>
>>>
>>>
>>>
>>>     _______________________________________________
>>>
>>>     ceph-users mailing list
>>>
>>>     ceph-users@lists.ceph.com
>>>
>>>     http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com
>>>
>>>
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> ceph-users mailing list
>>> ceph-users@lists.ceph.com
>>> http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com
>>>
>>
> _______________________________________________
> ceph-users mailing list
> ceph-users@lists.ceph.com
> http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com
>
>
_______________________________________________
ceph-users mailing list
ceph-users@lists.ceph.com
http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com

Reply via email to