[Seaside] Apache frontend for Squeak, mod_scgi ?

Avi Bryant avi at beta4.com
Fri Sep 26 13:38:45 CEST 2003


On Fri, 26 Sep 2003, Jimmie Houchin wrote:

> I don't know and your probably right. I don't know how any of these
> protocols work. I don't know anything about mod_proxy. I definitely
> don't know how it would boost performance of Squeak.
>
> Does it just hand off the request to Squeak, still requiring Squeak to
> do all the heavy lifting?

All of these protocols do the same thing:

- apache accepts the request
- apache connects through a local socket to the application server (squeak)
- apache sends the request, in some format, over this socket
- the application produces an HTTP response and sends it back
- apache forwards this response back to the user

The only difference is what format the request is in when it is sent over
the local socket.

With mod_lisp, the request looks something like this:

URL
foo
Content-Length
123
Authorization
asdasasd
....

With mod_scgi, it looks something like this:

300:URL foo Content-Length 123 Authorization asdasdasd....

With mod_proxy, it looks something like this:

GET foo HTTP/1.1
Content-Length: 123
Authorization: asdasdasdasd
...

I'm not kidding.  That's pretty much the difference.

Now, the last format (that mod_proxy uses) is straight HTTP, which means
that Comanche will understand it.  The others need a different kind of
server which understands the mod_lisp format or the mod_scgi format
instead of the HTTP format.  There's no particular reason to believe that
these servers will be any faster than Comanche, although the particular
implementations may be.  I don't think request parsing is much of a
bottleneck anyway, it seems a funny thing to optimize.

*All* of these will be slower than connecting to Comanche directly.  The
point of putting Squeak behind apache is not to somehow leverage apache's
performance, but to integrate better with other apache features - like,
for example, serving static content.

If the dynamic parts of your site don't perform adequately using Comanche,
you have a problem that introducing apache cannot possibly fix (except as
a front end for some kind of load balancing system, but that could just as
easily be done with, say, the Pen load balancer).

Avi



More information about the Seaside mailing list