[Glass] Garbage Collection , maintenance gem and typical seaside app

Otto Behrens otto at finworks.biz
Thu May 8 09:32:54 PDT 2014


Thanks, so the MFC have become quite fancy. Very interesting.

So when do I use the MFC (eg from cron / maintenance process) and when
do I use the epoch GC?

On Thu, May 8, 2014 at 6:19 PM, Norm Green
<norm.green at gemtalksystems.com> wrote:
> The MFC can be heavy-weight but is designed to be tunable so that it can
> also be very light-weight at the expense of taking more time to complete.
> This is done by tuning the number of threads used by the MFC and how much
> CPU those threads are allowed to consume.
>
> For example, in 3.x, running the MFC with 1 thread and a cpu limit of 10%
> should have minimal impact on the system:
>
> SystemRepository markForCollectionWithMaxThreads: 1 waitForLock: 60
> percentCpuActiveLimit: 10
>
> Of course you have to be careful not to limit resources too much else the
> MFC may never finish.
>
> Norm
>
>
>
>
> On 5/8/14, 9:08, Otto Behrens wrote:
>>>
>>> GLASS comes with nice seaside scripts to start/stop gems and also a
>>> maintenance gem which calls WAGemStoneMaintenanceTask. This class, from
>>> what
>>> I can see, it does seaside session expiration and MFC. So....second
>>> question... if I have this VM running...then I wouldn't need to
>>> explicitly
>>> run a MFC as part of a cron job, right?
>>>
>>>
>>> Right.
>>
>> Sorry, I lied. The default maintenance30 implementation does an MFC
>> every hour. We disabled that in our apps and switched the epoch GC on.
>> I think the MFC is *extremely* heavyweight and will influence your
>> application when it runs on a DB with some data. I can't really give a
>> measure of how much "some" is, in other words when the DB is small
>> enough where the MGC will not influence it that much.
>>
>> I understand that the purpose of the epoch GC is to be a process that
>> runs in the background with loads of fancy parameters to throttle it.
>> A seaside app in my understanding is an ideal candidate app for the
>> epoch GC. We bypassed WAGemStoneMaintenanceTask >>
>> maintenanceTaskMarkForCollect such a long time ago that I forgot about
>> it. To me, it does not make sense to implement that complexity in
>> maintenanceTaskMarkForCollect if there is a much more sophisticated
>> and efficient tool around (epoch GC).
>> _______________________________________________
>> Glass mailing list
>> Glass at lists.gemtalksystems.com
>> http://lists.gemtalksystems.com/mailman/listinfo/glass
>
>
> _______________________________________________
> Glass mailing list
> Glass at lists.gemtalksystems.com
> http://lists.gemtalksystems.com/mailman/listinfo/glass


More information about the Glass mailing list