[mod-lisp-devel] Apache 2 support

Marc Battyani marc.battyani at fractalconcept.com
Wed Nov 10 14:01:31 UTC 2004


Edi Weitz wrote:

> > I always wanted to test and finalize those versions but never found
> > the time to do it.  The major points are the treading model and the
> > socket reuse. Have you also tested these points ?  (The problem is
> > to have thread specific variables for the socket variables (no
> > special vars in C :( ))
>
> Yes, I tried to test these things, too. The code seems to keep the
> socket info in the configuration records. We know that this didn't
> work for 1.3.x[1] but it seems to work for 2.x. I inserted logging
> statements to check whether the sockets are actually re-used and they
> obviously /are/ re-used.

OK but did you try this only with the Apache2 prefork mode ?
The socket in the config record is a good thing but it's not sufficient if 2
threads use it.

> I also tried to test whether there are issues with multiple mod_lisp
> instances[2] but I couldn't break the code. What I did was something
> like this: Start two different mod_lisp instances from different Lisp
> images in different locations. Then run ApacheBench to request a page
> from the first image several thousand times. Finally request a page
> from the second image manually one or more times. This was always
> enough to break mod_lisp prior to 2.37 but doesn't generate errors
> with mod_lisp2.
>
> Maybe my test methodology is flawed but at the moment I'm pretty sure
> that everything works fine. Perhaps Chris wants to comment on these
> issues.
>
> What I saw was that mod_lisp2 with Apache 2 seems to be a bit slower
> than mod_lisp with Apache 1.3 - something like 280 requests per second
> versus 340 requests per second (on VMWare). I'm not sure if this is
> due to Apache 2 or due to mod_lisp2, though. From a quick glance at
> the code it seems that mod_lisp2 does a lot of error checking which I
> think is a good thing. I don't mind if this results in a speed
> decrease that's barely noticable unless you've hundreds of
> simultaneously connected clients.

Maybe Apache2 is more optimized for the multi-thread modes.

> Also, please note that I only ran these tests on Linux. On Windows
> (which supposedly has another default threading model) I only checked
> whether the standard TBNL tests succeeded.

Now that the threading modes are also available on Linux, the windows
version is suppoed to work like the Linux one when they use the same
threading mode.

Cheers,

Marc





More information about the mod-lisp-devel mailing list