Slashdot Mirror


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.

148 comments

  1. And...? by GigsVT · · Score: 0, Flamebait

    So it's even more efficient at reading a file off a disk and shooting it out on port 80?
    Really, aren't we to the point where the only thing we can get is more bloated and less efficient? Is there ever a point when software is "finished", in the open source world? Have we fallen victim to constant tinkering just because we can?

    --
    I've had enough abrasive sigs. Kittens are cute and fuzzy.
    1. Re:And...? by pepitoman · · Score: 1

      Apache will be finished when it serves coffe off port 80

    2. Re:And...? by strags · · Score: 2

      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.

    3. Re:And...? by MonMotha · · Score: 1

      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

    4. Re:And...? by Wyrds · · Score: 1

      http://rfc.net/rfc2324.html

      Apache 2.0 is supposed to be multiprotocol, no?

    5. Re:And...? by Anonymous Coward · · Score: 0

      lots of people are going to smack you down on this one for sure, just thought I'd add my 2bits

      Apache modules in 1.3 are broken. This is a known issue. Module handling has been muchly improved in Apache 2, as well as vastly improved threading. Not too useful if you only run a small site, but you definatly care when you're getting slashdotted.

      Urk.

    6. Re:And...? by TeknoHog · · Score: 3, Funny

      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.
    7. Re:And...? by TurboRoot · · Score: 1

      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.

    8. Re:And...? by Anonymous Coward · · Score: 0

      I think implimenting threads on Apache is hardly a tweak. If you feel nothing else needs to be done then stick with 1.3 but adding light wieght threads to the apache platform and where it applies is not tinkering and calling fork can be considered bloat. I do not want to sacrifice stability and efficiency either but there is always 1.3. for that.

    9. Re:And...? by johnnyb · · Score: 2

      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.

    10. Re:And...? by joedames · · Score: 1

      I love the screenshot for boa.

    11. Re:And...? by smittyoneeach · · Score: 1

      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
  2. Covalent by reaper20 · · Score: 1, Redundant

    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.

    1. Re:Covalent by Moridineas · · Score: 2

      Haha, not only did you not bothering reading the article (links), but you didn't even finish reading the post!!

      "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." -krow

      well done :)

    2. Re:Covalent by reaper20 · · Score: 1, Offtopic

      Typical slashbot, busy opening my cakehole without bothering to think. Heh.

  3. Apache 2.0 Threads by TurboRoot · · Score: 3, Interesting

    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. :)

    1. Re:Apache 2.0 Threads by einer · · Score: 0, Offtopic

      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.

      huh? link?

      I must be living in a hole... Since when does moderating an unpopular post get your moderation rights/privs revoked? Which begs the question, is moderation a right or a privelage?

    2. Re:Apache 2.0 Threads by Anonymous Coward · · Score: 0, Offtopic

      Here's the link.

    3. Re:Apache 2.0 Threads by Anonymous Coward · · Score: 4, Informative

      POSIX.1 specifies sleep(3) be both thread-safe and cancellation-safe.

    4. Re:Apache 2.0 Threads by Anonymous Coward · · Score: 0, Funny

      ... oh, and say buh-bye to your karma. Tainted by association with the Post Of Doom :-)

    5. Re:Apache 2.0 Threads by ink · · Score: 5, Informative
      Go get the source yourself, cuddle up to a posix threading book and pull out a 100% correct threading library. (Like the FreeBSD one.)

      When did FreeBSD get 100% compliance?

      http://www.idiom.com/~bko/bsd/freebsd-threads.txt
      In addition, ngpth has been accepted by Linus and they are very close to 100% compliant as well as providing for M:N mapping to scale on multiple processors, and to give programmers choice of kernel or userland threads with standard calls. BSD is great and all, but you guys do way too much chest-pounding.
      --
      The wheel is turning, but the hamster is dead.
    6. Re:Apache 2.0 Threads by sean23007 · · Score: 0, Offtopic

      What is it about a post like this (self pitying, resigned to being ignored) that forces people to mod it up? Is it a general agreement with his views, that this place is a joke? That can't be true (why are you all still here??). Is it the fact that you pity him for pitying himself? It seems to me that this guy is very pathetic, and points out the problems of the system at the same time as he takes advantage of its unique advantages (of course he takes these advantages for granted).

      Perhaps it is because he fits in with the rest of you: he manages to spout mostly useless information about something he considers himself to be an expert, and surrounds his ideas in a thick wall of misspelled words and grammatical errors (yup, he must be a great coder, to be able to give such extensive criticisms of the experienced people at Apache!). Someone should perhaps tell him that an ellipsis has three periods, and a dictionary is just a few clicks away.

      Perhaps he is against the system by default, and that's why he came here in the first place, but when it turned out that this place is just another system, he figured nothing good could come of it, and that power is being abused to suppress his (obviously flawless) ideas.

      But the most likely situation, and I have noticed this in many other discussions, is that the statements "I don't care about karma," or "Everyone will mod me down for this" automatically guarantee that the comment will be rated at least a 4. What if it actually deserves to be modded down?

      What if he just took a one time opportunity to vent his bitterness at the system that is holding him down? Must we all hear him? Mod me down if you will, but I will not be ignored.

      --

      Lack of eloquence does not denote lack of intelligence, though they often coincide.
    7. Re:Apache 2.0 Threads by Elias+Ross · · Score: 2


      What do you mean about sleep(3) not being thread-safe? I'd like to see more explaination about how you see Apache's code as not thread-safe. You are likely talking out of your arse, and you don't deserve to get moderated to '5'.

    8. Re:Apache 2.0 Threads by ink · · Score: 0, Offtopic
      Amen to that!

      I'm sick of the "I know this is gonna get me modded down buuuuuuuuuuuuuuuuuuuuuut" posts that go on and on about the oppressive regime of Slashdot, and then the insipid moderators mod the lame post up to prove that they really do care, and that they really do have open minds (when nothing further from the truth could be said). Like a bunch of sheep being led by wordsmiths, these lie-ridden posts, like the super-parent to this one, become +5 Insightful to appease some twisted sense of guilt and/or ignorance.

      I have to ask all the moderators of the super-parent: Do you know jack-shit about what was said in the post? Did you do any research at all about the topic? No, you don't and no, you didn't; so I must ask: Why did you mod the post up?

      --
      The wheel is turning, but the hamster is dead.
    9. Re:Apache 2.0 Threads by TurboRoot · · Score: 1

      Simple, a lot of platforms use lightweight userland threads that all reside within one process. When you sleep the process, all the threads will sleep.

      Now, those thread libraries are suppost to relink the sleep calls to a thread safe way to accomplish the same thing.. but not all of them do.

      Linux never had this problem, because of the _clone system call, which makes threads to be seperate processes that share memory. That isn't necessary a bad thing, but it makes developing threaded applications on Linux a bad idea because non thread safe code will work better on linux than other places.

    10. Re:Apache 2.0 Threads by Anonymous Coward · · Score: 0

      Well, generally, when I see something like sleep(3), it means that a thread is waiting for an event to finish. It's polling in a loop by sleeping for 3 milliseconds, testing the status of the event it's waiting to finish, then sleep for another 3 milliseconds etc...

      now the obvious problem with this is, well, you've just thrown away 3 milliseconds for that thread. This is horrible, especially since all threading systems have a wait/notify mechanism that provides the same functionality except that the thread will leave the loop as soon as the event is finished, instead of wasting an average of 1.5 milliseconds.

    11. Re:Apache 2.0 Threads by Juergen+Kreileder · · Score: 1
      Well, generally, when I see something like sleep(3), it means that a thread is waiting for an event to finish. It's polling in a loop by sleeping for 3 milliseconds...
      3 seconds not 3 milliseconds! (see sleep in SUSv3/1003.1-2001)
    12. Re:Apache 2.0 Threads by Electrum · · Score: 3, Informative

      Well, generally, when I see something like sleep(3), it means that a thread is waiting for an event to finish.

      That notation tells which manual section the name is in, not what parameters if any the function may be called with (many times the name is not a function). In this case, the "sleep" function is in manual section 3. i.e. you run "man 3 sleep".
    13. Re:Apache 2.0 Threads by Fweeky · · Score: 3, Interesting

      > a 100% correct threading library. (Like the FreeBSD one.)

      FreeBSD's threading it actually supposed to be rather smelly - just ask on freebsd-hackers or so.

      This is why Apache 2 on FreeBSD is best off sticking with the prefork MPM. The introduction of KSE's in -current will alleviate this, but that's still heavily in development.

    14. Re:Apache 2.0 Threads by Fweeky · · Score: 3, Informative

      Should probably have included a link to http://people.freebsd.org/~jasone/kse/ for those who cba Googling; there is some good stuff about the current threading implimentations there too.

    15. Re:Apache 2.0 Threads by BusterB · · Score: 4, Informative

      > POSIX.1 specifies sleep(3) be both thread-safe and cancellation-safe.

      I don't think he's talking about sleep being thread-safe. I think he's talking about using sleep rather than a condition variable and a while loop to wait for access to a shared resource. The problem with using sleep is that it's entirely dependent on system load/ speed/ alignment of the moon. Code like that assumes that if it waits a certain amount of time, the resource will be free.

      Imagine checking to see if a pool is dry, noticing that it is, coming back later and jumping in without looking. It might be full later, but it's much better to keep looking and not jump until the pool actually has water.

      This type of thing is especially hard to debug when you upgrade your hardware and your software mysteriously fails. Suddenly, you're not sleeping long enough to get an exclusive lock on a shared resource.

    16. Re:Apache 2.0 Threads by Anonymous Coward · · Score: 0

      "Do you know jack-shit about what was said in the post? Did you do any research at all about the topic? No, you don't and no, you didn't; so I must ask: Why did you mod the post up?"

      Somewhere around there's an Quit Slashdot page which makes the very valid argument that technical debates shouldn't be referreed by popular vote. Anyway, if you've read trolls by Bob Abooey or Steve Woston, you can see how easy confident-sounding, politically correct technobabble is a sure score 5 around here. Just make sure you are on the right side of the argument (BSD, Mozilla or Opera, Anti-Java).

    17. Re:Apache 2.0 Threads by Anonymous Coward · · Score: 0

      fix: sleep() longer! (Zzzzzz...)

    18. Re:Apache 2.0 Threads by damiam · · Score: 1, Offtopic

      Read this.

      --
      It's hard to be religious when certain people are never incinerated by bolts of lightning.
    19. Re:Apache 2.0 Threads by ahde · · Score: 2

      Of course, the only times threading is going to benefit you in Apache's model in on Windows (where processes are so damn heavy) or large SMP systems with heavy loads.

      The real improvements are things like the cool forwarding that allows you to build simple modules that say -- parse an XML with embedded PHP and pass it off to SSI and then XSLT it.

    20. Re:Apache 2.0 Threads by Wiener · · Score: 1
      parse an XML with embedded PHP and pass it off to SSI and then XSLT it.

      BINGO!

    21. Re:Apache 2.0 Threads by Anonymous Coward · · Score: 0

      Don't forget the link that exploited the loophole in setting slashdot options - clicking on it in a post set goatse.cx to be in your slashboxes, and presented loads of cluebies with a gaping asshole on their slashdot front page. Magnificent... my all time favourite, in fact.

  4. Excellent Work - Worth the wait by Dysan2k · · Score: 5, Insightful

    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?
    1. Re:Excellent Work - Worth the wait by consumer · · Score: 1

      You can't do that yet. Both mod_perl and mod_php have to be ported to the new Apache 2 API first.

    2. Re:Excellent Work - Worth the wait by gid · · Score: 2

      Well I just got cvs php4.2.0-dev to compile against apache2, with some tweaking of the php4/configure file that buildconf generates, so the support is there. I tried using php 4.1.1 but it was having nothing of the sorts, I modified the configure file the same way, but make gave me some error from outerspace halfway through the compile, which unforunately is long gone off my rxvt buffer. :/

      Apache2 with php4 was up and running for a little bit, I hit one php page, it worked fine, and I think apache2 segfaulted sometime after that, I might have hit the status page first. Now apache2 won't even start with php4 enabled, no error messages, no nothing, not even turning on debug in the error_log, still no messages. It simply doesn't start. If I disable the php module it starts fine. Oh well, guess I'll stick to apache 1.3.23 for the time being.

      Here's a piece of the error_log for anyone intersted:
      [Wed Feb 20 13:06:22 2002] [notice] Apache/2.0.32 (Unix) PHP/4.2.0-dev configured -- resuming normal operations
      [Wed Feb 20 13:06:45 2002] [error] [client 216.4.165.11] Invalid method in request ***binary junk here /. hates, this message 4 times, around 4 seconds apart***
      [Wed Feb 20 13:10:59 2002] [notice] Graceful restart requested, doing restart
      [Wed Feb 20 13:11:08 2002] [notice] seg fault or similar nasty error detected in the parent process
      [Wed Feb 20 13:27:52 2002] [notice] Apache/2.0.32 (Unix) configured -- resuming normal operations

  5. It's not just for break^H^H^H, er, files anymore by Eryq · · Score: 4, Informative

    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!
  6. Apache 2 is going to kick ass by blackmateria · · Score: 5, Informative

    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:

    • ./configure; make; make install (almost). No more APACI, thankfully.
    • APR. It's already starting to be used by other projects.
    • Totally rewritten mod_cache, mod_proxy, etc. Works much better now!
    • Will actually work on Windows (well, some may not see this as a benefit, but whatever).

    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!
    1. Re:Apache 2 is going to kick ass by pangloss · · Score: 1

      what exactly was wrong with APACI? i haven't been following apache2 so this is the first mention i've heard of it. the docs just say now apache2 looks more like other open source projects in the install process. is that the sole benefit?

    2. Re:Apache 2 is going to kick ass by Electrum · · Score: 2, Interesting

      I've been using Apache 2 on Linux and FreeBSD for about 2 months now (...), and IMHO it is really going to rock the server world.

      This isn't meant to be a flame, but a genuine complaint of the Apache web server that I haven't seen adequately addressed anywhere. How can Apache claim to be a modern web server if it continues to use an outdated request model? Having a separate process or thread for each request is completely unnecessary. Even for a site with dynamic content, the majority of the requests will be for static content (images). So why use up system resources when not necessary?

      A request for static content is essentially just moving data from one file descriptor to a socket, something that sendfile(2) can be used for on operating systems that implement it. If a single system call combined with a select(2) loop can handle the majority of the requests, then why is each request tying up a process or a thread? When reading the Apache mailing lists, you get answers such as "it's too difficult for other programmers to extend the server", "processes or threads don't have to be expensive depending on how the operating system implements them", "everyone is happy with how it works now", and "Apache is meant to be correct first and fast second". None of these address the issue that Apache's request model is flawed, and it will never be high performance until it is corrected.

      Additionally, the Zeus Web Server is well implemented and doesn't suffer from any of the problems that seem to keep Apache from being implemented correctly. It's also better than Apache in every way, ranging from performance to configuration (with the exception of not being open source). Zeus did everything right and built a great web server. Years later, Apache is just now getting their next version into beta, and it seems to be just as fundamentally flawed as the first version. If there is ever an open source web server as high quality as Zeus, then it more than likely won't be Apache.

    3. Re:Apache 2 is going to kick ass by /ASCII · · Score: 2, Informative
      If serving huge amounts (>1 GB/hour)of static content from a single-CPU computer is what your server does, Apache is not for you. The Apache model will never do that as fast as Tux, Zeus or Boa.


      But if you would stop to think for a while, you would see that no one does that. Nowdays, it's all about dynamic content. And in that case the overhead of using multiple threads is tiny compared to the added benefits of scalability and stability.


      It is actually possible to use a kernel-based server like Tux for static content and let Apache take care of the dynamic bits.

      --
      Try out fish, the friendly interactive shell.
    4. Re:Apache 2 is going to kick ass by Electrum · · Score: 5, Insightful

      If serving huge amounts (>1 GB/hour)of static content from a single-CPU computer is what your server does, Apache is not for you.

      A well designed non blocking server can run in multiple processes, to take advantage of multiple CPU's. Zeus does this.

      But if you would stop to think for a while, you would see that no one does that. Nowdays, it's all about dynamic content. And in that case the overhead of using multiple threads is tiny compared to the added benefits of scalability and stability.

      That's wrong. As I said, most of your requests will be static content. Take Slashdot, for example. This comment posting page is one perl page, and six images. Do you really need six extra processes for those images? Especially large Apache processes that have mod_perl and who knows what else compiled into them. Sure, the code pages should be shared, but it's still poor design.

      It is actually possible to use a kernel-based server like Tux for static content and let Apache take care of the dynamic bits.

      Sure you can do that, but wouldn't it be better to use a well designed server in first place, and not have to kludge around design flaws in the web server? Your web server should not be your application server. Your web server should be serving web pages. Your application server should be running applications. The Apache model of "build everything conceivable into the web server process" is a bad idea, and is not consistent with the unix philosophy of doing one thing, and doing it well.

      Everyone knows CGI's are bad for performance because it causes forking a separate CGI process for each request. Turning the CGI's into Apache modules solves this problem, but not in an optimal way. Applications do not belong in the web server. A model such as FastCGI is a much better approach. It is similar to CGI, especially in the sense that it is easy to program for. But instead of running the process and using stdin/stdout as with a CGI, it connects to the FastCGI via a socket. Thus the application stays running, and there is no process creation overhead. It keeps any necessary load balancing on the application end where it belongs, and out of the web server.

      Additionally, the application doesn't even need to be on the same box. You can have one or several application servers, and a single web server. A web server only needs to handle data. A single box should be able to fill your outbound pipe, or at least around 100mbits of it. If an application is slowing it down, then you need another application server, not another web server. It is unfortunate that the two are not seen as the separate entities that they should be.

    5. Re:Apache 2 is going to kick ass by jslag · · Score: 1
      Take Slashdot, for example. This comment posting page is one perl page, and six images. Do you really need six extra processes for those images? Especially large Apache processes that have mod_perl and who knows what else compiled into them.


      I doubt that any mod_perl based site is set up in such a way. At a bare miniumum, mod_perl sites have two apache binaries serving pages: one for the static pages, one for the dynamic pages. The static binary is obviously as lightweight as possible. If you're really interested in mod_perl tuning check out the mod_perl guide at perl.apache.org.

    6. Re:Apache 2 is going to kick ass by Electrum · · Score: 2

      I doubt that any mod_perl based site is set up in such a way. At a bare miniumum, mod_perl sites have two apache binaries serving pages: one for the static pages, one for the dynamic pages. The static binary is obviously as lightweight as possible. If you're really interested in mod_perl tuning check out the mod_perl guide at perl.apache.org.

      Why should you go through all that extra hassle to make up for a design flaw in the web server? Wouldn't it make more sense to use a non blocking web server with a single process per CPU, and have the Perl FastCGI handling the Perl code?

    7. Re:Apache 2 is going to kick ass by jslag · · Score: 1
      Why should you go through all that extra hassle to make up for a design flaw in the web server?


      What extra hassle? It took me 15 minutes.


      As to the why, that's easy: so I can use Mason, which is IMHO the greatest web development tool since sliced bread.
    8. Re:Apache 2 is going to kick ass by Anonymous Coward · · Score: 0

      Threads are not processes!!!!! Or.. at least they shouldn't be. Yet another way that Linux blows nads compared to a real operating system. Threading is still a badly tacked on afterthought in Linux. Maybe in another decade or two...

    9. Re:Apache 2 is going to kick ass by Anonymous Coward · · Score: 0

      Then use zeus for static pages, and Apache (an APPLICATION SERVER which happens to talk HTTP and feed static content, conveniently) for dynamic content. Zeus doesn't DO dynamic stuff...

    10. Re:Apache 2 is going to kick ass by ahde · · Score: 2

      Sliced bread is cool for creating web-content, but for really cool websites, you should really try torillas!

    11. Re:Apache 2 is going to kick ass by Electrum · · Score: 2

      Then use zeus for static pages, and Apache (an APPLICATION SERVER which happens to talk HTTP and feed static content, conveniently) for dynamic content. Zeus doesn't DO dynamic stuff...

      Zeus most certainly does handle dynamic content, and it handles it very well. Zeus supports CGI, FastCGI, NSAPI and ISAPI (basically everything that's not proprietary, like Apache).
  7. There is more to that by artur · · Score: 4, Informative

    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).

  8. IIS is still the way to go by Anonymous Coward · · Score: 1, Funny

    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. ;-)

  9. Performance results by augustz · · Score: 5, Informative

    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.

    http://webperf.org/a2/v29/Apache2_26-Nov-2001.html has some 2.x v. 1.x results.

    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?

    1. Re:Performance results by BigBir3d · · Score: 3

      Configurability is also very important. If 2.0 can be configured better than 1.x ever could, for me, than it will be faster, giving me more performance.

    2. Re:Performance results by augustz · · Score: 1

      Couldn't agree more, stability and a low bug-count matter a lot for those with a bunch of servers to maintain and don't want to discount that.

      But 1.3 seems to bear up great for me at least in those respects, and higher performance means fewer servers is always appealing.

    3. Re:Performance results by rchatterjee · · Score: 1

      What compiler did they use for these results? I'm assuming GCC but would they have gotten better results using Intel's C++ compiler (or Sun's on a SPARC system)with the new Apache 2.0 code? I've heard you get much better SMP performence from Apache 2.0 using the compilers from the chip designers but i was wondering if anyone has tried this out and knows for sure.

    4. Re:Performance results by daemous · · Score: 1

      Uh, those are old and there have been many improvements since then (mostly optimizing away mallocs). This report was used to press that issue and get everyone behind a faster httpd.

      It is true it isn't a huge performance win, but it is better than 1.3.

    5. Re:Performance results by Anonymous Coward · · Score: 0

      Apache is written in C, not C++.

    6. Re:Performance results by Anonymous Coward · · Score: 5, Informative

      the apache has several performance advantages.

      1 lower memory footprint.
      you can run a a server which normally took 4G of memory in 512M

      2. speed
      http://webperf.org/a2/v31/2002-02-11-v29/
      http://webperf.org/a2/v31/2002-02-12-v31/
      the page is similiar to the 'NEWS-STORY-NORMAL' column in the old one..

      check out the response time in the graphs.. can v1.3 get a 1-1.5 second response time as CPU increases like that ?? doubt it
      3. mtmalloc
      we found that using mtmalloc with apache 2.0 gave us a performance increase of 30% (yes 30%) by preloading the library

      4. v31 has got a different pool allocater, which reduces the mutex contention considerably.

      nice to see someone is referenceing my benchmarks ;-)

      BTW .. solaris 8/8 cpu/GCC v2.95

      while your surfing webperf.org.. why not download the agent and run it for a while?

    7. Re:Performance results by Anonymous Coward · · Score: 0

      Intel C++ compiler compiles C as well

    8. Re:Performance results by webperf · · Score: 2, Informative

      one more point. these pages utilize mod-include VERY heavily. we found a EXPONENTIAL increase in speed in relation to decrease in the number of includes on the page.

  10. apache rules! by Anonymous Coward · · Score: 0

    I'm not that much of a linux guy, but I love apache, it is the best server software ever (under linux, of course)!

  11. Per-per-gripe whinging? by malxau · · Score: 1

    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.

  12. Heh heh. by Scoria · · Score: 0, Troll

    Whenever there's a new Apache build (for Windows, too; this is uncharacteristic of Slashdot), it seems to deserve being posted on the front page.

    Slashdot editors: I doubt you are in requirement of being reminded that infinitely more informative stories are forced to lurk in the dungeon known as "that subject's section." I (and probably a great number of Slashdot readers) would be greatly appreciative if you'd leave Apache propaganda (and other inane 'stories') in their respective areas and move those underrated gems to the front page. Thank you.

    --
    Do you like German cars?
    1. Re:Heh heh. by Scoria · · Score: 1

      Good job, moderator!

      It was constructive criticism, not a troll. Down to 49 karma, I suppose.

      --
      Do you like German cars?
  13. MSI Installer == Spiffy by justin_w_hall · · Score: 3, Interesting

    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
    1. Re:MSI Installer == Spiffy by Anonymous Coward · · Score: 0

      yup had that problem uninstalled it right after that as it is definately not stable enough for me if it can't even do such a simple thing correctly

    2. Re:MSI Installer == Spiffy by darkwhite · · Score: 3, Informative

      Yeah, it's strange, because the previous beta does install the service. It's easy though, just run apache -i.

      I've just switched to 2.0 a few days ago on win32... so far it's been about the same as 1.3 for me, the only thing I had a problem with is that it doesn't substitute paths for shebang lines in cgi-bin files, so I have to write out full paths (1.3 did). And the conf file from 1.3 doesn't exactly work right away with 2 (which would be nice), I had to tweak it. Otherwise it's great.

      --

      [an error occurred while processing this directive]
    3. Re:MSI Installer == Spiffy by loconet · · Score: 1

      "Convincing my boss that installing a webserver to replace IIS would be easy was about 3 million times earlier with that"

      I'm a CS student graduating soon, why is there such a hard time making bosses see the beauty and less hassle of these projects linux/apache/etc compare to the MSWin/IIS choice...I mean, who with the smallest notion on what is good would put up a fight to choose IIS over apache!? Will I have the same wonderful challange?

      --
      [alk]
    4. Re:MSI Installer == Spiffy by justin_w_hall · · Score: 2

      Well, it's especially hard because my company's a Microsoft Certified Partner. When I came on board we were relying on Microsoft products for everything, and I don't think anyone realized that there were a few better ways of doing stuff - proxy, for example, as Squid and IPFilter on a ghetto Pentium box smoked MS Proxy 2.0 (on a box twice as fast).

      So I'm starting to get away with using Linux and *BSD for things that they're better for, and as a result I'm slowly chipping away at the MS-dominant infrastructure we have piece by piece. YMMV, but it seems that the 'notion on what is good' doesn't always click with management.

      --

      ---
      "how can the same street intersect with itself? i must be at the nexus of the universe!" - cosmo kramer
  14. How much karma do you lose? by archen · · Score: 0, Offtopic

    Guess I'll see....

  15. Much like Linux 1.0 by Sivar · · Score: 1

    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
    1. Re:Much like Linux 1.0 by MeNeXT · · Score: 3, Funny
      Why are you waiting for their OK? If this was MS it would be at version 3 already. The beta of open source is more reliable than most MS versions. The true final of an MS version is after SP2.

      --
      DRM? No thanks, I'll just get it somewhere else...
  16. Threading is good by Anonymous Coward · · Score: 2, Insightful
    I haven't used a webserver for just static pages in a long time, so it's good apache will support multithreading. Having complex database processes with apache 1.3.x could hinder it's scalability. Doing complex transactions like making calls to multiple databases in a threaded environment should scale better. Now some people will say, "why in the world would you want to make calls to multiple database?"

    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.

  17. Better Win32 Performance by Hollinger · · Score: 1

    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.

    1. Re:Better Win32 Performance by ClosedSource · · Score: 1

      I hope you're right. On their 1.3 notes for Windows they say the following:

      "Apache for Windows version 1.3 series is implemented in synchronous calls. This poses an enormous problem for CGI authors, who won't see unbuffered results sent immediately to the browser. This is not the behavior described for CGI in Apache, but it is a side-effect of the Windows port. Apache 2.0 is making progress to implement the expected asynchronous behavior, and we hope to discover that the NT/2000 implementation allows CGI's to behave as documented."

      The phrase "we hope discover" bothers me. Are they designing it to work correctly under Win32 or not?

    2. Re:Better Win32 Performance by TheAwfulTruth · · Score: 2

      Yes, clearly using synchronous calls on windows was the result of a bunch of unix coders not knowing how to program for windows at all. I was hoping that the promise for 2.0 meant that they actually hired some real windows coders. I guess not. A well written asynchronous and/or properly threaded application on windows can easily match performance of the best written UNIX apps. But no fork and block unix coder is going to ever be able to do the windows "port" justice (As we've seen). Now I guess we'll have to "hope to discover" if they got a clue or not. :(

      --
      Contrary to popular belief, coding is not all free blow-jobs and beer. Those things cost MONEY!
  18. MySQL? PostgreSQL is better! by Bistronaut · · Score: 3, Funny

    -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?).

  19. Beowulf! by Afrosheen · · Score: 0, Offtopic

    Imagine a beowulf cluster of these! w00t!

  20. IBM has it too by jmkaza · · Score: 1

    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

    1. Re:IBM has it too by ||| · · Score: 2, Informative

      why are everyone so exited about the thread-per-request model? instead, many high-performance servers use non-blocking (or asynchronous) i/o models to scale. for instance, look at the seda project (http://www.cs.berkeley.edu/~mdw/proj/seda/) where a java implementation of a web-server using non-blocking i/o outperforms both the apache and flash web-servers for specweb99.

  21. To get blazingly fast ... by Anonymous Coward · · Score: 0

    hack the apache source to call your
    c functions. Perl is a scripting language;
    i.e. slow.

    1. Re:To get blazingly fast ... by Anonymous Coward · · Score: 0

      An anonymous dickhead wrote:hack the apache source to call your c functions. Perl is a scripting language; i.e. slow

      Go learn about modperl, Anonymous chum: Apache/Perl integration.

      Some hints for the technologically challenged:

      1: apache already has a good C API for writing your own modules (don't have to "hack the source")

      2: What everyone else is talking about is a module (not "hacked source") called mod_perl that embeds a perl interpreter into apache. Scripts are compiled once then cached. Even emulating vanilla CGI scripts gives massive speed increases (on par with C), and using the apache API gives much more control over the various phases of URI serving.

  22. Quick kludge to get it up. by Anonymous Coward · · Score: 0

    You can get it up and running on a port other
    than 80. For example, use 8080. Demonstate
    that it's easy to use and configurable and easy
    to support. Then pull the plug on IIS and
    and change the apache config to port 80.
    Easy stuff.

  23. High performance PHP by horza · · Score: 2

    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.

  24. Re:MySQL? PostgreSQL is better! by Fweeky · · Score: 4, Informative

    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.

  25. perchild MPM by slamb · · Score: 5, Interesting
    I'm a little disappointed by Apache 2.0 so far.

    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:

    • It's not portable to non-Linux platforms. (There was talk on the mailing list of marking it experimental because of this.)
    • It hasn't compiled (even on Linux) out of the box in several releases. In 2.0.29, easy to fix but still doesn't work right. (Not compiling is a sure sign it hasn't been maintained.) Not quite as easy on 2.0.32. There's a patch, but it doesn't look right to me.
    • It's easy to misconfigure it into running virtual hosts as root. (Bug report)

    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.

  26. Key developer: "Two-oh won't release 4 months" by Paul+Bain · · Score: 1, Troll
    &nbsp&nbsp&nbsp&nbsp&nbsp In early December, 2001, I sent an email to Ken Coar, one of the lead Apache developers, regarding Apache 2.0. Here is his telling reply.

    To: Paul Bain
    Subject: Re: Apache modules book

    Paul Bain wrote:
    >
    > Will your book on writing Apache modules cover the Apache
    > 2.0 API as well as the 1.3 API?

    No. It was originally [meant to cover 2.0], but it had to be scaled back [to cover just 1.3].

    > Is there much difference between the two API's, so much
    > so that rewriting existing 1.3 modules will be inordinately
    > time-consuming (and modules for 2.0 should instead be
    > written from scratch)?

    It depends on your definition of 'inordinately'. Unless it's something like mod_php, a few hours should probably suffice to convert pretty much anything. For best results, a complete rework of any content routines would be best, but much of the 1.3 API is still available -- but not as efficient nor as featureful.

    It's still going to be months (IMHO) before the 2.0 API is stable and the server released. &nbsp&nbsp[emphasis added]
    --
    #ken &nbsp&nbsp&nbsp&nbsp P-)}

    Ken Coar, Sanagendamgagwedweinini &nbsp&nbsp http://Golux.Com/coar/
    Author, developer, opinionist &nbsp&nbsp&nbsp&nbsp http://Apache-Server.Com/

    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).
    1. Re:Key developer: "Two-oh won't release 4 months" by Anonymous Coward · · Score: 0

      In early December, 2001, I sent an email to Ken Coar, one of the lead Apache developers, regarding Apache 2.0. Here is his telling reply.

      Oh, yes, months from early december equals... Hmm ... March?

    2. Re:Key developer: "Two-oh won't release 4 months" by Rizz · · Score: 1

      Newsflash: His message was posted in December. It's now February. That's ``months.'' :)

  27. Re:How much karma do you lose? - long by Anonymous Coward · · Score: 0

    You may not lose a lot unless the editors read it.

    They have little to no patience for slashdot quirkiness and will nuke your mod ability and your karma if they don't like what you are posting. This is a new thing, though they updated the FAQ so it is now by the book as well in the future.

    Folks have started posting as AC's, but it seems a logical next step will be for them to start logging your id/ip and revoking based on that. What you won't do for others seeking power you will do if you seek it :)

    Kinda sad to see the old slashdot going away, but everything has it's time. Hoping to get a chance to use my mod/meta-mod on a similar thread in the future. Fun, quirky, good enough to make all of us in front of a computer laugh a little.

  28. Re:How much karma do you lose? - long by Xerithane · · Score: 0, Offtopic

    Exactly - Slashdot as we "knew" it is gone. I suppose I can't blame Rob, I'd be going nuts working on the same project for as long as he has. It doesn't matter if you post AC or not, they do log your IP. My previous post already has 5 mods done to it, I don't really care anymore.. I'm at my karma cap, let them kill it and nuke me. I don't care. I've been reading slashdot since before there were user accounts, and I've made mostly helpful contributions to the signal. I post when something I want to talk about comes up.

    The issue is moot at this point, but it's interested to see the feelings that still persist.
    I've found FortKnox has a great journal - and he's setup his own site but I can't remember the URL and I'm too lazy/tired to look it up. Oops.. there goes more kkarma :)

    --
    Dacels Jewelers can't be trusted.
  29. Threads and processes : why? by chrysalis · · Score: 2

    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}}
    1. Re:Threads and processes : why? by webperf · · Score: 3, Informative

      I suggest you look at http://www.kegel.com/c10k.html for a great description on all the different types of architectures there are for webservers

  30. glib? by sfraggle · · Score: 1
    The new version of Apache sports the new APR API

    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!
    1. Re:glib? by ||| · · Score: 1

      the apache licence is bsd'ish, and glib is lgpl.

    2. Re:glib? by stephend · · Score: 2

      APR deals more with processes, threads, interprocess communication and networking while glib is more of a useful toolbox with trees, stacks and types, etc.

      That being said, there's definately an overlap.

  31. Portable runtime libraries by pieterh · · Score: 2, Informative
    It's a very sensible thing to make since it's cheap and eliminates much of the nasty #ifdef 'portability' one sees in programs.

    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.

  32. Why pointy-haired-bosses are a pain by MarkusQ · · Score: 2
    I'm a CS student graduating soon, why is there such a hard time making bosses see the beauty and less hassle of these projects linux/apache/etc compare to the MSWin/IIS choice...I mean, who with the smallest notion on what is good would put up a fight to choose IIS over apache!? Will I have the same wonderful challange?

    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.

  33. try authentication integration for one by gruntvald · · Score: 2, Insightful

    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)

  34. '2.0' is just a number! by ishmalius · · Score: 1

    Wouldn't you rather see the thing actually improve, than just see it get a release label?

  35. Configure Still Doesn't Work by tomreagan · · Score: 2

    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.

    I downloaded 2.0.28 in December and tried to ./configure --enable-layout=opt. No dice - it still throws everything in /usr/local/apache2.
    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?

  36. Been there, felt that pain by pjc50 · · Score: 1

    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...

  37. Don't loose your moderator points on AC... by cyba · · Score: 1

    ... give it to me instead :)

  38. Re:(drumroll)...the changelog by Chinese+Karma+Whore · · Score: 0

    fuck you, niggers!

  39. Re:Linux is #1 transmission mode for anal warts by Anonymous Coward · · Score: 0

    test