Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I provide hosting facilities for a high traffic website that will receive a spike in traffic in the next 2 months. In order to allow more it to perform better, I want to prepare myself and put a frontend server acting as a reverse proxy and direct traffic through it.

What reverse proxy do you suggest I use?

I've used Apache mod_proxy in the past with some good results, but is there something more performant out there, something more specific for the job? I need it to be fast, to do caching of all it can, and avoid doing requests when not needed.

I thought about HAProxy, but it seems to be more directed to provide High availability (multiple backend webservers). On this setup, the whole website is hosted on a single server, running some LAMP stuff.

share|improve this question
add comment

3 Answers

up vote 5 down vote accepted

We've had very good experience with Varnish.

Redpill Linpro, the company behind it, states on the Varnish product site:

Varnish is a reverse Web accelerator designed for content-heavy dynamic web sites. In contrast to other HTTP accelerators, many of which began life as client-side proxies or origin servers, Varnish was designed from the ground up as an accelerator for incoming traffic. We actually claim that Varnish is ten to twenty times faster than the popular Squid cache on the same kind of hardware!

Our experience is that this is very much true. In addition to being written with performance as a reverse proxy in mind, the VCL domain language for configuration is very powerful and you can get very detailed information about what it does while it works (see question 3425).

Varnish is open source, and has a good community, while being actively developed by the company.

share|improve this answer
add comment

I can't really speak about the relative performance, or how it will perform under massive load, but I have used Squid for http acceleration in the past. It works pretty good.

If your web site has lots of dynamic content a cache may not be able to help you much. You may want to check that the web site is sending out useful cache control headers and not just immediately expiring everything.

share|improve this answer
add comment

Varnish appears to be a pretty popular reverse proxy.

Also, I believe you can run Nginx as a reverse proxy too (using memcached as an option, I think.)

share|improve this answer
    
It's a nice option, and yes, it seems to use HttpProxyModule and HttpMemcachedModule (wiki.nginx.org/NginxHttpMemcachedModule). It seems somewhat limited though. –  Pablo Alsina May 5 '09 at 18:03
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.