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.
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!
...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
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!
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
I agree that this will never replace Apache. However, from what I have read about it so far, it was never meant to.
I disagree on the part that this is "dead". Just like Linux, web servers are going in two different directions. The first, and most common is serving web pages for web sites as we think of them today. Public sites either giving information or selling a product.
There is a new market emerging though, that Boa will be well suited for. The advanced-embedded market. I am not talking PIC processors or having a web server in a lightbult, but the more advanced devices that need a slightly more advanced webserver, without needing things like virtual hosting. This type of web server should do very well on home routers and firewalls and such devices.
visit my free wallpaper collection, wp.erasei.com
...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.