Apache Server Nears 2.0
An Anonymous Coward writes: "The Apache httpd project has released a new beta of their apache 2.0 server (v32)". For those who have not been following the 2.0 development, this is the third beta that has been produced. The new version of Apache sports the new APR API and a new method for filtered I/O, and has been rewritten to make use of a hybrid thread/process model. With Covalent already selling a commercial version of 2.0, hopefully we will see a full release of the open source version in the near future.
Apache will be finished when it serves coffe off port 80
Isn't Covalent selling an 'Apache 2.0' product? Does anyone have any experience with it?
I'd like to know the changes between their version and the 'official' version. It'd be interesting to note which features/bugfixes the Apache Foundation felt was worth waiting for.
Err.... Read the article?
Wouldn't you agree that it's a good thing to improve Apache's portability?
There's also a lot more to a web server than just serving files straight off the hard drive.
Two Words: Dynamic Content
While the server may be about as efficeient as you can get at serving up static pages, the web today revolves around serving up dynamic content. If the server can serve up PHP or Perl pages faster, more power to it.
--MonMotha
The main benefit of Apache in the first place is the stability benefited from the fork() nature of it.
:)
:)
:)
Apache 2.0 brings some nice and intresting new features that only a multithreaded server can bring, but these are all features already available in tons of other web servers..
Unfortuantly, the programmers working on Apache 2.0 don't know how to write thread safe code. Don't believe me? Go get the source yourself, cuddle up to a posix threading book and pull out a 100% correct threading library. (Like the FreeBSD one.)
Example... DONT USE SLEEP(3) in a multithreaded application!.. but whatever
What I am basically saying is.. I would't get apache 2.0 for production _yet_. Someday Apache 2.0 will be the model for how a stable multithreaded multi-protocol server can be written.
By the way, I normally don't take time out to actually post. But since my moderation and meta moderation privs were removed since i moderated a post I found intresting.. to be intresting. (The great slashdot troll investigation). About 500 people lost their moderation ability at that time. What a nice brave new world.
The advance is. I can now say what I truely feel and not care about karma.. because this place is a joke.
http://rfc.net/rfc2324.html
Apache 2.0 is supposed to be multiprotocol, no?
Apache is doing a thing or two besides just calling "Passenger index.html, please contact gate 80". There are other, faster httpds around that focus on this simple task, for example Boa. (the joke works much better in Finnish)
Escher was the first MC and Giger invented the HR department.
Defiently. Sharing threads allows you to also share resources.. like.. database connections
cached content.. etc all in memory.
Things like this is why servers like aolserver and basically any J2EE(especially Resin) server stomps Apache in the ground as far as dynamic pages are concerned.
Personally, I don't mind waiting on the Apache project to take their time and do it right. I believe 2.0 isn't bloatware, but a far more modular and extensible version of the worlds fav. web server. Personally I've been waiting for a WHILE to start using it. I'm not sure if PHP4 will compile against it yet. Maybe out of CVS it will.
With the new threading, it should manage to push out pages a lot faster under load, and make better use of the processors. Might have to go download today. Here's a project for those of you bleeding edgers out there. I've yet to manage this one myself:
Apache 2.0 + mod_perl + php4 (with support for MySQL 4.x) + mod_ssl.
I don't think non-CVS PHP4 will handle MySQL 4.x, but perhaps there are others that know how.
Back to topic, way to go guys!!
-What have you contributed lately?
Many sites use Apache as an application server or to serve dynamic-content; e.g., by using mod_perl (to deliver blazingly-fast dynamic content generated by Perl scripts), or as a flexible and solid front-end to Java servlet engines like JServ and Tomcat.
And far from being bloatware, Apache has (at least during 1.*) gotten more modularized over time, making it easier to fine-tune logging, access control, URL rewriting, etc, etc. I don't know squat about 2.x, but I expect good things.
Just the $0.02 of a Perl/Java hacker who uses it extensively...
I'm a bloodsucking fiend! Look at my outfit!
Apache has scalability problems. The APR will allow you to tune Apache to be most scalable for your platform. For Windows, it's threads only. For Linux, it will probably be the thread/process combo. This is a good thing. Apache REALLY needs this to move to the next level.
Engineering and the Ultimate
I've been using Apache 2 on Linux and FreeBSD for about 2 months now (got into it while playing around with Subversion, another project that seems to be making excellent progress), and IMHO it is really going to rock the server world. Some major plusses:
People have been complaining that Apache 2 is slow to come out, but from what I've seen lurking on the mailing list, it's because they want to ensure the quality of this release. They've also been talking about how they want a lot of beta testers, because (<rumor mode on>)they want to release soon, maybe even from 2.0.32. So get out there and beta test it!
---
Have you crashed Windows XP with a simple printf recently? Try it!
This is usually the case when you are serving static pages for a page that is viewed one time a day.
However, it gets complicated when you serve pages that are dynamically generated for various users. You want to be able to pass content of a file through various modules. You can tell that you want the page to go through mod_perl and then through SSL modules. You can also stack any modules in between.
The new version makes it easy.
Of course there is a lot of other things besides the "reading and shooting" files (IPv6, web caching, etc).
Sorry, But I will be sticking with IIS for serving web pages. I mean if not for recovering from crashes and constantly applying patches what work would I have. People might think my job is redundant. ;-)
I've been following performance results for 2.0, and wanted to let folks know that it doesn't seem clear to me that there is this huge performance gain waiting to happen.
l has some 2.x v. 1.x results.
http://webperf.org/a2/v29/Apache2_26-Nov-2001.htm
Love to hear the lowdown on performance advantages of the new Apache from someone in the know or someone who has done some actual testing.
Also, PHP/Apache perl/Apache integration are probably very high on many folks lists, what is the status of those two vis a vis apache?
I love the screenshot for boa.
What's with all the griping about how bloated and bad apache is, then how great IIS is, and how a web server should just read and write?
Is this item being taken over by Microsoft?
Everyone, download it and try it for yourself. It's really cool.
First off, I have to rant about how much I love their precompiled MSI builds. Convincing my boss that installing a webserver to replace IIS would be easy was about 3 million times earlier with that... run it, click thru the wizard, once-over the config file and you're up. Now you, too, can escape the IIS headaches in less than five minutes!
With that said, has anyone tried the MSI for this latest beta? It didn't create the service for me automatically, and I wasn't sure if it was just my crackpipe or if it was an actual problem. Bug report's been filed already, just wanted to see if anyone else had any input...
---
"how can the same street intersect with itself? i must be at the nexus of the universe!" - cosmo kramer
Apache 2.0 is quite a bit like Linux 1.0 and, to a lesser degree, Linux 2.4.
It keeps getting closer and closer--so amazingly close--but it never seems to actually be final. It gets tweaked and patched and asymptotically approaches 2.0, but doesn't seem to get there.
I'm not bashing the Apache developers, quite the opposite as I am very happy that they are absolutely not releasing it until it is ready--and we all know (I hope) that Linux 1.0 was eventually released. And 2.4. If only some other server apps used were put under such intense scrutiny before release.
Computer Science is no more about computers than astronomy is about telescopes. --E. W. Dijkstra
The answer to that question is, dynamic transactions often access existing databases, which often have screwed up data models and require insert/updates in multiple tables. Some will run and scream "horror, horror, horror," but now that the .bomb blew up, more and more web developers are finding they have to work with bad, inefficient, poorly documented data models. Having multi-threading in Apache will improve it's scalability.
Reading through the changes from 1.3 to 2.0, I'd say they've put quite a bit of effort into improving win32 performance (multiprocessing, finally! among others).
kudos.
Michael C. Hollinger
-flame- -flame- -flame- OK, I was just kidding. I love PostgreSQL, but even I realize that when you don't need stability, speed, good SQL compliance or ... what was I saying again?
-flame- -flame- -flame-
Alright, back on topic, I'm pretty sure that you've been able to compile PHP4 for Apache 2.0 for quite a while now (at least the option has been there - maybe it's been broken?).
From IBM... Apache V2.0 is the newly rearchitected open source Apache Web server that offers several significant enhancements, including a new "Thread-per-Request" model on UNIX and Linux operating systems. This new model offers increased performance and a significant reduction in the memory footprint of the server. On the Windows operating systems, it offers increased performance, along with capabilities and functionality that closely match those on the UNIX platform. The full information can be found here
It's PHP and not Apache that is the bottleneck here. For instance, I am writing a PHP extension that not only makes reading and writing XML files a doddle (eg to change (hypothetical) Apache xml config: xml_load("httpd.conf); xml_setelement("server.listen.ip", "127.0.0.1"); xml_output("httpd.conf");) but it will cache the XML files too. This means I can load config files at the start of my script with nearly no overhead. It's also going to drop the database load for an online book retailer client of mine to near zero, but that's another story... If anyone is interested in this please use ptemple[at]progressivepublishing.com instead of my Slashdot-reg Hotmail address.
Phillip.
Property for sale in Nice, France
The API's are not yet fixed, so they tend to break. You can probably compile CVS of PHP to the current beta Apache 2, but the next time they change something PHP will most likely track the CVS change, leaving the beta out in the cold again.
I managed to get mod_php + Apache 2b28 coexisting, but it liked to segfault a lot (even when idle) and always ended up eating 100% CPU. I even managed to add Zend 2 (next-gen PHP engine) to the mix, but, well, I haven't seen Apache fall over so much since I got PHP 4.0.0 to generate 50,000 internal errors on a single script.
Good job, moderator!
It was constructive criticism, not a troll. Down to 49 karma, I suppose.
Do you like German cars?
I've been looking forward to the perchild MPM. It can run different server processes under different UID/GIDs. This is important because mod_{perl,php,python,snake} run in-process with the Apache server. It's the only way to run them securely for different people other than a completely seperate webserver for each person (with its own IP address, configuration file, memory footprint, etc.)
But perchild doesn't really work:
So, Apache 2.0 may be promising in the future...but when a feature I've been looking forward to for a long time is broken, I'm kind of disappointed.
IOW, don't hold your breath waiting for the non-beta release of 2.0.
A lawyer & digital forensics examiner. Also an expert on open source software (OSS).
I still wonder why Apache 2.0 was designed to use a strange hybrid model instead of making a non-forking server, just like thttpd, webfs or zeus, whoose performance will probably still kick Apache.
And Apache still doesn't have any integrated web administration front-end like Zeus.
{{.sig}}
The website for the APR says this:
The mission of the Apache Portable Runtime (APR) is to provide a free library of C data structures and routines, forming a system portability layer to as many operating systems as possible
What is the difference between this and the glib library which the GNOME programs use? This seems like the same kind of thing. Granted, it does seem to include some extra stuff which glib doesnt have, but still..
were you expecting to see a sig here? perhaps you'd rather see the inside of an ambulance!
You can see an example of a multithreaded web server using a similar portability library on .
I remember showing this web server and its multithreaded / portability model to the IBM Apache team in December 1999 during the Bazaar at New York. Maybe they got some inspiration from it.
My blog
Before you graduate, be sure to catch up on the industry literature for valuble insights into how the real world works.
-- MarkusQ
P.S. Pay special attention to what happens to Asok, and lean how to duck.
being able to plug in your domain SAM, with acls on the site. Also domain authentication with "web folders" (DAV) is another. Note: I will be happy to be corrected with a HOWTO that tells you how to point DAV at your PDC or SAMBA box here ... (without running a separate accounts database)
Wouldn't you rather see the thing actually improve, than just see it get a release label?
Ok, so maybe this is not the place for this, but I can't seem to get any answers out of the developers about this. ./configure still doesn't work.
./configure --enable-layout=opt. No dice - it still throws everything in /usr/local/apache2.
I downloaded 2.0.28 in December and tried to
I posted to the apache-users mailing list in December, and no one responded. I tried again yesterday, with 2.0.32, and it still doesn't work.
Looking through the bug tracking list, I can see that this bug has been filed since November 2001.
How can Apache 2 be nearing release if you still can't get it to install where you want it to?
You do realise that this means that the Perl processes have no idea of the remote IP? or of the SSL connection information?
A second apache also requires a second set of configuration files and virtual servers which have to be maintained and provisioned. It's just a waste of time, although it does reduce the stupid memory requirements somewhat...
... give it to me instead :)
Had I mod points, I'd bump you up based on the .sig alone. <><
-1 Off Topic
Get thee glass eyes, and, like a scurvy politician, seem to see things thou dost not.--King Lear