An Overview of the Boa Web Server
Gentu writes "There is a pretty new and little known, lite web server in town, named Boa. The server can run very fast on older machines, even on embedded devices, but it is only CGI-based. OSNews introduces Boa (running under Linux) and it includes some preliminary benchmarks against Apache and thttpd."
If Boa is too constricting, you might want to switch back to good ol' Apache
Bah dum bah!
The test performance against apache using a different test program for each server. Furthermore, it looks like Boa is designed for one thing... speed. Apache is designed to be feature complete. It's like comparing apples and pumpkins.
Pretty new? You what? I've been running it for five years. Even the OSNews article mentions that "Boa was written sometime in the early 1990's by Paul Philips". It is definitely a nice little server tho'.
It seems a little odd to compare BOA and Apache. Granted Apache is the web server of choice so a comparison is not too bizarre but, it is still an apples to oranges comparison.
Boa is much smaller than Apache. This seems like a good thing on the surface, especially for embedded applications, as was suggested in the article. But, Boa is slower and much less functional than Apache. They really aren't comparable servers.
There is a pretty new and little known
You'd think the submitter would at least read the article. It says right in there that it's been in development since before 1995, "In fact Boa is one of the oldest web servers in constant development".
I've had enough abrasive sigs. Kittens are cute and fuzzy.
even on the windows side, there is sambar server, tiny server (which is very small and very fast), and a multitude of others, some are feature rich, others just push out plain web pages.
Thanks to file sharing, I purchase more CDs
Thanks to the RIAA, I buy them used...
I didn't see any benchmarks against Apache or thttpd in the article - I saw boa benchmarked with ab and zb. Looks interesting enough to try out, although I still haven't even bothered putting in thttpd to serve graphics yet, so I probably won't ever get around to boa after all. :/
creation science book
If you're interested in small webservers, fnord is another one. It even does CGI, vhosts and directory listings and it's only 18K. It requires tcpserver though.
Hi
According to my tests BOA beats Apache.
BUT the ZEUS web server (www.zeus.com) which is 'feature complete' (including mod_perl in version 4.2) still beats both of them.
Have a nice day!
I've used Boa in a number of cases where certain groups of CGI scripts need to run as a specific UID and I didn't want to use the SUID functionality of Apache. Because it is so lightweight, having a few of these hanging around for various citical system UIDs can really be handy, esp. if you have an aversion to using SUID wrappers and such. A good example is using Boa running as the same UID as the mailing list processor so you can have web administration of the list rosters. And the users don't even know about it because I use the ProxyPass directive to shuttle the requests from the standard port 80 up to the port on which Boa is running, so my logging is still centralized/standardized through Apache.
Boa is very cool. Kudos to the developers!
I submited this one some weeks ago but it didn't make it to the frontpage. It's a new http server, written 100% in PHP, somebody ever tried it ?
...available here. I've had it running on a 386 with only 4MB RAM running the NetBSD "tiny" distribution.
Small footprint, pretty functional: HTTP, CGI, etc. It's referenced in the BOA docs.
Wait a minute, who is "we"?
I mean, no offense, but who the hell are you to tell a programmer what she should work on? Oh wait, did I say "no offense?" I meant "plenty of offense." As long as the Boa guys are enjoying what they're doing, more power to them. Now, maybe you're whining about Slashdot writing an article on it, but that's hardly the Boa guys fault.
And, frankly, you sound like the type of person that's going to find something irritating to whine about no matter what.
Well, maybe some of us want to do work because it's fun, and we're interested in it, rather than because some random internet bozo thinks he 'needs' it.
Yeah, I can see that -- you're already trying to impose your own narrowminded "managerial" (your label, not mine) viewpoint on the people that are trying to get work done, and touting your own superiority. Whooooo, how innovative and revolutionary.
So why don't you just crawl back into your hole and write whatever code you want to, instead of whining that other people are working on things that don't benefit you personally?
Maybe...
OK, so a lot of open source projects start up to fill a gap and a lot of open source projects start up to replace a proprietary or expensive solution, but a lot start up just to try and do something in a new way or innovative way, to experiment or to learn. It's the hacker way.
OS is so productive becasue of this hacker attitude, stifle it at your peril.
Reginald Molehusband. Edinburgh, Scotland
Partly because of the fun of it, but to combat bloatware a culture of making things small, in a practical sense, needs to exist. Apache may be size X, and if the belief is embedded in coders that size X is the minimum to do a job, it won't even be -considered- by the majority that things could be done more efficiently
Even knowing a webserver exists that is 1/10th the size and runs in 1/10th the memory can give pause to thought, and keep the knowledge open that things can always be made smaller. In 1990 the entire internet was run on machines rarely quicker or more powerful than 386s or 68030s - it would be sad to see a culture of "You can't have a server online that's under 500mhz and a gig of ram" develop - without tiny coding projects like this, that's all too possible.
where the www is heading, IMHO. Seven years ago, anyone was hardly using dynamic stuff on the web, and IIRC back then it was mostly flat HTML.
But today, when 90% of the stuff served (besides images) by web servers are dynamic content, why does a web server like this get a headline?
Ok, I know it does CGI, but come on, CGI is as dead as Ultrix.
I'm not trying to let this project down. I'm sure there are plenty of happy users that don't need the "bloat" associated with Apache, IIS and other servers--but I'd be surprised if they did anything more advanced than the occasional photo album homepage.
We all use bash (mostly). Not because it's the smallest, but because it does everything we've come to expect from a shell.
To me, Boa seems a lot like the effort to rewrite the unix utilities in asm to reduce size. It's a challenging excersise, but in the long run it's going nowhere.
These are very, very different approaches to creating a scalable server.
See Non-blocking I/O is good for more background on what multiplexing is and why it is good.
MORTAR COMBAT!
You might try thttpd from ACME Labs. I've used it (also Boa) on several 486 and early pentium machines.
MORTAR COMBAT!
So was having the website linked directly from a Slashdot article their way of stress testing their software?
;)
Apparently, its load handling just isn't up to the task yet.
bytesmythe
Hypocrisy is the resin that holds the plywood of society together.
-- Scott Meyer
Several posters have commented derisively on www.boa.org's inability to take the load of a slashdot effect. These comments miss the mark totally.
.
www.boa.org is hosted at no charge by Russ Nelson. I don't thank him often enough for this help. He provides similar service for selected other community projects, too, check out http://www.russnelson.com/
I also don't hold it against Russ that he doesn't use Boa for his web server. He has other things on his mind than learning about one more piece of software; he used Apache before he hosted Boa, and he continues to use Apache. It does the job for him. If the site acts slashdotted, knowing Russ, I suspect his pipe is clogged, and there's not much he can do about that.
So if y'all want to slashdot a Boa server to see if it holds up, pick something other than www.boa.org. There are plenty to choose from, including some that wouldn't even notice the slashdot effect.
Just like we only need one OS, one CPU architecture, one RAM standard...come on, I don't understand all the bashing BOA has received here. Sure, it's not my HTTPd of choice, nor is it for a lot more folks, that doesn't negate the fact that it's more than sufficient, yea, even perfectly tailored for others. The very thing a lot of people here are ranting about is the very thing that makes OSS different from the 'enemy'. So you don't like it, so you don't need it. Someone else does, so let it be.
Don't park drunk, accidents cause people.
...with an especially nice screen shot... :-)
>There is a pretty new
It's not new. As the linked article says, it's been around since 1995, so it's almost as old as the web.
>and little known
I link to it from the thttpd page, which gets a quarter million hits per month, so I guess I've done my part to make Boa better known.
>it is only CGI-based.
I don't even know what this means. It serves files using select() and non-blocking I/O, not CGI. It implements CGI for external programs. Perhaps the author meant that CGI was the only option for external programs.
>preliminary benchmarks against Apache and thttpd
As others mentioned, no, there are no Apache or thttpd benchmarks in the article. No doubt it's much faster than Apache and about as fast as thttpd, but experience shows that very few people care about web server speed.
>Boa (running under Linux)
I keep telling people that if they are one of the few who care about performance enough to run a specialized NBIO web server like thttpd or Boa or mathopd, they shouldn't throw away half their performance by running Linux. Use FreeBSD.
A very nice and fast web server is Hydra
[ http://hydra.hellug.gr ] . It is based on boa.
Here is some info from the site
Hydra is a high performance multi threaded HTTP web server. Unlike traditional multi threaded web
servers, Hydra uses a constant, but configurable, pool of threads, and each thread can handle several
connections by multiplexing the connections. This may remind you a non blocking server, and this is
true, but Hydra has not the killing limitation of a non blocking server, which is that they cannot use
more than one CPU. Hydra will take advantage of every available CPU in a system.
It supports many thingsa that boa doesnt, like
virtual hosts
cgi 1.1
SSL 3.0/TLS 1.0
PHP and other scripting languages.
Statistics from Netcraft:
WebServer Sites
Apache 21258824
Microsoft-IIS 10143822
Zeus 711957
unknown 496657
Netscape-Enterprise 465337
Rapidsite 411267
thttpd 322974
.
.
.
.
Boa 463
Before this, I used to host a medium-traffic database-driven website on an old Pentium 166 with 64 megs of RAM running -- get this -- Windows 2000 Server. And it never blinked either (except when I got Slashdotted once; that really hurt).
Anyway, in an article about a great low-overhead super efficient webserver like Boa, I'd really like to see benchmarks on systems that are actually low-end, as opposed to systems that are low-end if your other server is a quad Xeon with 16 gigs of RAM.
Fascinating to see something I wrote almost ten years ago turn up on slashdot as "new."
I wrote it on a dare, sort of. There weren't any single process web servers at the time and a friend of mine said "it shouldn't be that hard..." I named it boa because my pet at the time was -- wait for it! -- a boa constrictor.
Gee, that's it. Yay for open source living ten years on its own.
-- psp
-- Stop the violins!