For even more discussions, look at and then
mini_httpd, micro_httpd, thttpd. These are really lightweight http servers. He did
a lot of work comparing threading, forking, and async IO.  Async IO wins big
for http serving. Apache just happened to be at the right place at the right time, it is by far NOT the most efficient http server. Apache 1 was only forking. With modern UNIX memory management, forking is (was) not that expensive, and Apache performed well. Today, apache has a zillion mod_* stuff, but even that is just
to speed up inefficiencies.  I really prefer NOT to put up apache, unless my
customer forces me to do so.  Most other servers perform better than apache,
but apache is just "out there".

I started my work with python and medusa, one day switched to asyncore, and
then found picolisp. I WILL NOT be going back. It would be very interesting
to have a non-threading, non-forking model in picolisp based on 'task'.  The
more I think about it, it really is simple. One just needs to get your head around the concepts first and then around 'task'. Picolisp also forks, but for other reasons,
the main one, it is completely integrated with it's database.  A lightweight
async 'task' model would indeed be an interesting alternative.

If this is the case then why is Apache the de facto standard? From the
Medusa page one gets the impression that forking is horribly
inefficient compared to the asynchronous way, but if this really was
the case an alternative to Apache based on this model would surely
have strong support. There is something missing here and I can't get
that missing piece. Please enlighten me.
Apache JUST HAPPENED to be there when http serving took
off.  At that moment in history, it was the best available solution.
Apache is where it is today for the same reason that Microsoft is
where it is.  A happenstance of history.

Just like Linux won out over BSD.  BSD was entangled in a lawsuit
with AT&T at a critical junction of time, and Linux took off.  Had it
not been for the AT&T / Berkeley lawsuit, I do not believe we would
have ever heard the word "Linux".  Well some of us would have - I was
doing kernel work in 1991 when Linus released the first code.  Of
course we looked at it - and quickly said, no, let's use BSD - then in 1992
AT&T screwed themselves with the lawsuit.  Do you hear much about
Bell Labs these days?  They do still exist.


Reply via email to