httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
Subject Re: cvs commit: httpd-2.0/server protocol.c
Date Thu, 19 Apr 2001 08:13:50 GMT
>   Move the keepalives field out of the conn_rec and into an HTTP specific
>   connection record.  This also moves some HTTP specific back out of the
>   core and into the HTTP module.

-1.  First, as I said at the hackathon, these variables are not specific
to HTTP.  They record and control limitations on the number of requests
per connection.  You can change their names, if you want, but they must
be in the connection record for all protocols.

There are no limitations on requests per connection defined by HTTP.
It is a common tool to avoid denial-of-service (or, more accurately,
enforce fairness-of-service) at the application-layer.

Second, you should never move code and change code in the same commit.

Third, I see no reason to make the Apache httpd code base generic to
all protocols.  If done at all, this work belongs in a different tree.
I understand why it would be nice to have a multiprotocol routing core,
but the current code base is nowhere near efficient enough to support
such a change, certainly not without some justification from real users
that need such a beast.  We need to concentrate on getting it that way
for at least SSL and HTTP.

One of the things that needs to be kept in mind when building a
multi-protocol server is that while many protocols carry the same
elements, the applications that they support may have extremely
different performance profiles.  A server architecture has to be designed
according to the application profile, not the syntax of the protocol that
carries it.  Pools, for example, are not efficient enough to handle a
long-lived stateful exchange -- a memory structure for that needs to
be able to reclaim within the session.  There are many other cases where
the core will have to change radically in order to support those
applications.  Those changes should be proven separate from the 2.0
server before they are inserted in a code base that doesn't even remotely
need them.

Finally, is it really necessary to do this while I am in Maui?


View raw message