Lisp HUG Maillist Archive

gc tuning

Hello -

In short: do I need to worry about tunning GC (garbage collector) for server applications?

I have a web application server that seats behind a web server and is connected with it via the scgi protocol. The application server serves, that obvious, dynamic content. There are logic part, mysql interaction, templates output; everything, including the mysql driver, is written in CL. The application server is multi-threaded and for each incoming request there is a thread (and there is a cap of requests that the app can processes in order not to stress things out).

I use LW Prof 6, 32 bits, Linux. There is a dedicated 32bit small web server with 1.7Gb of memory (actually, I use Amazon Cloud services) that runs primary lighttpd + this lisp application server.

Are there tricks, advises on how to tune LW GC for server apps? Or GC is smart enough to adapt to every situation so I need not to worry (even hypothetically) about it? Does anyone have any experience with GC tuning?

Best,
 Art


Re: gc tuning

I don't have much experience with GC tuning either, but one thing that
immediately comes to mind for a long-running MP applications is that
processes are created in a generation that is not collected by
default.  (At least that was the case on 32-bit LW 5.x.)  So, if you
don't re-use your threads and create a new one for each incoming
connection, you should take care of this.

HTH,
Edi.


On Thu, Aug 26, 2010 at 3:00 PM, Art Obrezan <artobrezan@yahoo.com> wrote:
>
> Hello -
>
> In short: do I need to worry about tunning GC (garbage collector) for server applications?
>
> I have a web application server that seats behind a web server and is connected with it via the scgi protocol. The application server serves, that obvious, dynamic content. There are logic part, mysql interaction, templates output; everything, including the mysql driver, is written in CL. The application server is multi-threaded and for each incoming request there is a thread (and there is a cap of requests that the app can processes in order not to stress things out).
>
> I use LW Prof 6, 32 bits, Linux. There is a dedicated 32bit small web server with 1.7Gb of memory (actually, I use Amazon Cloud services) that runs primary lighttpd + this lisp application server.
>
> Are there tricks, advises on how to tune LW GC for server apps? Or GC is smart enough to adapt to every situation so I need not to worry (even hypothetically) about it? Does anyone have any experience with GC tuning?
>
> Best,
>  Art
>
>


Re: gc tuning

stack allocation - an expensive thing (when creating a process/thread)
is directly in the 2nd generation. refer to

10.5.4 Allocation of stacks
http://www.lispworks.com/documentation/lw60/LW/html/lw-147.htm#pgfId-890195

Ala'a
On Thu, Aug 26, 2010 at 5:00 PM, Art Obrezan <artobrezan@yahoo.com> wrote:
>
> Hello -
>
> In short: do I need to worry about tunning GC (garbage collector) for server applications?
>
> I have a web application server that seats behind a web server and is connected with it via the scgi protocol. The application server serves, that obvious, dynamic content. There are logic part, mysql interaction, templates output; everything, including the mysql driver, is written in CL. The application server is multi-threaded and for each incoming request there is a thread (and there is a cap of requests that the app can processes in order not to stress things out).
>
> I use LW Prof 6, 32 bits, Linux. There is a dedicated 32bit small web server with 1.7Gb of memory (actually, I use Amazon Cloud services) that runs primary lighttpd + this lisp application server.
>
> Are there tricks, advises on how to tune LW GC for server apps? Or GC is smart enough to adapt to every situation so I need not to worry (even hypothetically) about it? Does anyone have any experience with GC tuning?
>
> Best,
>  Art
>
>


Re: gc tuning

Unable to parse email body. Email id is 10516

Re: gc tuning

Many thanks for this draft!

As I got it:

1. I constantly monitor my app with (ROOM).
2. I do (GC-GENERATION T) if the generation 2 grows with time.

And I got that users of 32 bits LW are underpowered in comparison with 64 bits users of LW. :-)

Best,
 Art


> Here is some draft documentation for control of the storage
> management system,
> which we will add to the manual:


Updated at: 2020-12-10 08:38 UTC