|Can Apache handle 10K redirect entries?|
|[en] Scribbles||apache, http, performance, c2, dec 22, 2009|
The questionHow does Apache handle 10K redirects in a virtual host. How does having so many redirects affect the performance of Apache, even when traffic doesn't use those redirections?
-- Read more --
|Apache2 Sucks; Hail Nginx|
|[en] Scribbles||apache, nginx, sose, nov 11, 2008|
For a while I have been hating apache's HTTPD. It is slow, uses memory like crazy, it suffers from bloat, it doensn't stimulate good practices, and in its standard realworld configuration it's one honking security problem... Honestly, apache httpd is a pain. IT's the sendmail of webservers.
Besides now with web2.0 you need to have some _fast_ web infrastructure. Now one page element can get you many requests.. and I'm not talking static content. But what's worse when the user is waiting for a widget to respond, you do not have 300ms to get a page out the door. You have 30ms.
So for a while I have been experimenting with alternative httpd's. And I am starting to really love Nginx . It's lightweight, it's FAST (10K req/sec compliant), takes advanges of a modern OS and the config is really clean.
The nice thing about Nginx is it doesn't try to be more then be a great frontline http server. It doesn't do CGI (and that's a feature!), you cannot imbed PHP, perl, python or whatever inside it (and you shouldn't want to either). About the only thing nginx serves by it self are static files.
When I want to do something dynamic, Nginx just passes the request on to the application server via fast-cgi or just proxies it. Nginx does the compresion, the http1.1 keepalives, the TLS (SSL), http level authentication, and everything. Nginx sends a http1.0 requests to the application server, responds and forgets about it.
Now that I have switched to Nginx, I started to think differently about webspace. Nginx makes it natural to compose a site and hook the different services that respond to it's own url space all behind the same Nginx engine. So you start to compose a site. Now I have a bunch of light (+simple) processes each dedicated to one task hanging behind their own url receiving requests from Nginx. It's like it should be.
Nginx made setting up URLspace fun again! :)