Varnish is a high-performance reverse proxy and load-balancer package for Linux/Unix systems.

learn more… | top users | synonyms

122
votes
12answers
126k views

How to set up Nginx as a caching reverse proxy?

I heard recently that Nginx has added caching to its reverse proxy feature. I looked around but couldn't find much info about it. I want to set up Nginx as a caching reverse proxy in front of ...
26
votes
4answers
16k views

Ordering: 1. nginx 2. varnish 3. haproxy 4. webserver?

I've seen people recommend combining all of these in a flow, but they seem to have lots of overlapping features so I'd like to dig in to why you might want to pass through 3 different programs before ...
22
votes
2answers
10k views

Is Varnish with nginx better than just using nginx? [closed]

I see a lot of talk about using nginx with Varnish and I do not understand why. Isn't nginx enough? Nginx has SSI, has reverse proxy cache, is lightweight, has SSL, can work with cgi, fpm, etc. ...
18
votes
2answers
17k views

Varnish Cache - default TTL?

I have discovered that I can set the TTL in Varnish as follows in my VCL file: sub vcl_fetch { # 1 minute set obj.ttl = 1m; } But what is the default setting (assuming the backend server is ...
15
votes
3answers
12k views

How to check if chosen Varnish cache size is ideal?

I've configured my Varnish cache to use a cache size of 512 MB, using: varnishd ... -s file,/var/cache/varnish.cache,512M Questions: How do I monitor if 512 MB is too small, too big or okay? How ...
12
votes
4answers
7k views

Nginx Varnish Nginx Django?

I have a django app and I want to to setup Varnish on a server in front of it. In another serverfault thread somebody suggested putting Nginx in front of Varnish. Should I put Nginx in front of ...
11
votes
1answer
12k views

The strange case of Mr. Time To First Byte

I've got a webserver on a Linode 1024 VPS based on Ubuntu 11.10 Nginx 1.0.5 PHP 5.3.6 (with PHP-FPM, APC) Varnish 3.0.2 And a couple of blogs there based on WordPress 3.3.1. One of them is a ...
11
votes
2answers
10k views

Custom 503 Error Page With Varnish

How can I tell Varnish to show a custom html error page instead of the default "Guru Meditation" message?
11
votes
2answers
4k views

How to install a Varnish module on Ubuntu

I want to install an additional module for Varnish Cache, the Shield module. How can I do that? I installed Varnish 3.0 from the Ubuntu repositories. How do I get the Varnish source which the module ...
11
votes
7answers
3k views

How can I balance incoming web traffic amongst N apache servers?

I am looking to use something like Heartbeat/Squid/Varnish/etc to balance the amount of incoming traffic amongst the internal apache instances. This would have to be software and not hardware as all ...
9
votes
1answer
3k views

How does Varnish deal with running out of storage?

I am using Varnish 3.0.3 (the latest as of this writing) with more or less the default install, using the following for storage: # # Cache file location ...
8
votes
7answers
6k views

Varnish -> Nginx -> Apache a good idea?

I'm thinking about the architecture for a new Webserver. Would having Varnish as a cache in front of Nginx as a reverse-proxy and serving static files in front of apache for all heavy lifting be a ...
8
votes
2answers
3k views

Varnish “FetchError no backend connection” error

Varnishlog: 0 CLI - Rd ping 0 CLI - Wr 200 19 PONG 1340829925 1.0 12 SessionOpen c 79.124.74.11 3063 :80 12 SessionClose c EOF 12 StatSess c 79.124.74.11 3063 ...
7
votes
4answers
12k views

Why cache static files with Varnish, why not pass

I have a system runnning nginx / php-fpm / varnish / wordpress and amazon s3. Now I have looked at a lot of configuration files while setting up the system, and in all of them I found something like ...
7
votes
5answers
5k views

Which reverse-proxies support HTTP/1.1 ETag and If-None-Match headers?

I'm developing a caching system for an ecommerce platform that will use a reverse proxy for caching. I plan to handle invalidation by using proper HTTP/1.1 headers. That is, I will set an ETag on ...
7
votes
1answer
2k views

Poor load balancer performance on rackspace and centos

I am load testing different options for load balancing, and am getting poor results from Nginx, haproxy, and varnish. I have one 4GB load balancer at Rackspace, hitting 4x1GB app servers. I'm ...
7
votes
3answers
695 views

Getting 503 error from Varnish but varnishlog doesn't tell much

Running Varnish 4 and I'm occasionally getting 503 errors which I can't put my finger in. I've tried curling the backend directly and it's returning a response everytime so it doesn't look like the ...
7
votes
2answers
1k views

Varnish running out of open ports, lots of SYN_SENT connections

Recently we've been experiencing issues with our Varnish (3x) -> Apache (3x) setup, resulting in a huge spike in SYN_SENT connections. The spike itself is due to the amount of new traffic hitting the ...
6
votes
4answers
21k views

Simple way of restarting crashed processes?

I need to monitor several processes running on my webserver. For some reason, varnish currently crashes once every day or two. I'm using monit to supposedly restart varnish automatically, but it ...
6
votes
2answers
1k views

Force request to miss cache but still store the response

I have a slow web app that I've placed Varnish in front of. All of the pages are static (they don't vary for a different user), but they need to be updated every 5 minutes so they contain recent data. ...
6
votes
3answers
10k views

Configuring Varnish to rewrite Expires/Cache-Control headers for client-side caching

How do I configure Varnish so that all responses to requests matching say "*.css" gets cached in the client's browser for 30 days? What I'm trying to achieve is making Varnish set the correct ...
6
votes
1answer
2k views

How do I set a varnish response TTL dynamically?

my php script is sending a header X_Cache_ttl: 1h and in my varnish config file I have sub vcl_fetch { if(beresp.http.X-Cache-ttl){ set beresp.ttl = beresp.http.X-Cache-ttl; } } ...
6
votes
1answer
11k views

nginx with Memcache Vs Varnish

I was wondering if anyone has any comments / benchmarks / suggestions on Varnish Vs Memcache when used to serve content (usually 2-5kb JS file depending on the parameters in request; thousands of diff ...
6
votes
2answers
1k views

Optimizing Server Architecture with Apache/Varnish/MySQL on Linux

I am a server administrator for a small start-up as a side venture (meaning I am by no means a well seasoned expert on the subject), and I recently helped move the site from a single windows machine ...
6
votes
2answers
4k views

Main differences between SSI (Server Side Include) and ESI (Edge Side include)

I need to include dynamic content into static pages at web server level. The 2 options I have found so far are Server Side Include (SSI) and Edge Side Include (ESI). While the origins of SSI seem ...
6
votes
1answer
1k views

Varnish returning 503, FetchError (could not get storage)

On the current setup we're running into a problem with Varnish, we're running a CentOS 5.7 x86_64 xenpv, with Cpanel WHM, hosted at VPS.net. Sometimes we will recieve a Guru Meditation from Varnish, ...
5
votes
2answers
8k views

Need HAproxy + Varnish + nginx setup suggestions

Currently, I have two load balancers running HAProxy, which forward requests to backends, each of which run Varnish cache in front of nginx. I thought this would distribute most the bandwidth across ...
5
votes
1answer
16k views

where can i find varnish log files? /var/log/varnish is empty

I'm trying to read log files of Varnish server in Ubuntu environment. I actually never used Varnish before. so...I cd to /var/log/varnish, but the folder is empty. it tells me that I have to ...
5
votes
4answers
5k views

How do I get varnish to return in the http response header from which backend it took the response?

I have three servers in the backend, with a round robin director. I would like varnish to write a X-Server-By header with the name or ip of the server from which the response was fetched, how can ...
5
votes
4answers
9k views

Does Varnish require much RAM?

Other than virtual memory, How about RAM usage for Varnish? Is it much RAM needed?
5
votes
4answers
10k views

Store Varnish cache in hard disk

The situation is: Im building PHP application, and need http caching. Varnish is great, and lots of people tell me that Varnish store the cached data in RAM. But I want it cached in hard disk. Is ...
5
votes
1answer
11k views

Purge varnish cache for a single url using varnishadm

Varnish is being used in a Wordpress website. I would like to purge Varnish for a single URL instead of a whole domain. With this command I can restart Varnish for the whole domain: varnishadm -T ...
5
votes
3answers
3k views

Prevent port change on redirect in nginx

I currently have nginx setup to serve content through Varnish. Nginx listens on port 8000 and varnish connects users' requests from 80 to 8000. The problem is, on some occasions, particularly when ...
5
votes
2answers
9k views

Varnish configuration to only cache for non-logged in users

I have a Ruby on Rails application fronted by varnish+nginx. As most of the sites content is static unless you are a logged in user, I want to cache the site heavily with varnish when a user is logged ...
5
votes
3answers
3k views

Let varnish send old data from cache while it's fetching a new one?

I'm caching dynamically generated pages (PHP-FPM, NGINX) and have varnish in front of them, this works very well. However, once the cache timeout is reached, I see this: new client requests page ...
5
votes
1answer
6k views

How to increase Varnish throughput?

Sometimes on a busy Pressflow site I notice a timeout for unauthenticated users while the server's port is far from being saturated, there is plenty of unused memory and the server load is very low. ...
5
votes
3answers
3k views

AWS ELB as backend for Varnish Accelerator

I am working on a large deployment on AWS that has high uptime requirements and variable loads throughout the day. Obviously, this is the perfect use case for ELB (Elastic Load Balancer) and ...
5
votes
1answer
3k views

Should I enable KeepAlive on Apache backend with Varnish as frontend?

I'm using Varnish as a frontend with Apache 2 as backend on my web server. What are the pros and cons of Apache's KeepAlive in this setting? Apache and Varnish run on the same server now, but I could ...
5
votes
2answers
5k views

Adding a reverse proxy - nginx or varnish

We currently serve most of our Rails and LAMP apps over Apache and Apache passenger, but we're considering adding Nginx or Varnish as a reverse proxy to reduce the load on our servers somewhat. I'm ...
5
votes
1answer
998 views

Use Cherokee Instead of nginx in Front of Varnish to Get HTTP 1.1 Optimizations?

We have been running nginx -> uWSGI, and now we are evaluating putting Varnish as a caching layer between nginx and uWSGI (similar to http://www.heroku.com/how/architecture). But, nginx only supports ...
4
votes
5answers
10k views

How many reverse proxies (nginx, haproxy) is too many?

I'm setting up a HA (high availability) cluster using nginx, haproxy & apache. I've been reading great things about nginx and haproxy. People tend to choose one or the other but I like both. ...
4
votes
2answers
4k views

How to Read a Varnish Histogram?

How is a varnishhist histogram/graph read? I understand that the x-axis is a log scale. Specifically: I see 9 "|"s or cache hits occur around y=1e-4, what does each "|" refer to? Page? File? I see ...
4
votes
7answers
3k views

Scaling large file downloads?

We currently deliver large (1GB+) files via a single Apache server, but our Apache server is extremely disk-IO-bound and we need to scale. My first idea was to simply duplicate this Apache server, ...
4
votes
3answers
5k views

Running Varnish on Windows 7

We are planning on using Varnish Cache 3.0.2 (latest version) for our production environment, however, for development we would like to run Varnish on our local computers, some of us have Win7. The ...
4
votes
1answer
3k views

Confused about caching solution: MemCache, Varnished, mod_cache, else?

I have a very heavy site in my server. The load of the server is always about 30-50 and sometimes it become even 150 and server work really hard. I'm looking for a caching solution that can increase ...
4
votes
1answer
6k views

Best way to deploy my node.js app on a Varnish/Nginx server

I am about to deploy a brand new node.js application, and I need some help setting this up. The way my setup is right now is as follows. I have Varnish running on external_ip:80 I have Nginx behind ...
4
votes
2answers
6k views

Is it possible to run varnish with both memory and disk storage?

I'm interested in maximizing cache hits and efficiency for a slow-changing site. The virtual host doesn't have a huge amount of RAM, but I'd like to use what's available for varnish, but to fall back ...
4
votes
4answers
5k views

Running PHPmyAdmin on Nginx, port 8080 passed to varnish not working well!

I installed Nginx, Varnish and PHP-fpm. Then I installed PHPmyAdmin and made a virtual host for it: server{ listen 8080; server_name phpmyadmin.Domain.com; access_log ...
4
votes
1answer
1k views

Varnish does not recognize req.hash

I have Varnish 3.0.2 on Redhat and service varnish start fails after I added vcl_hash section. I did varnishd and then loaded the vcl using vcl.load vcl.load default default.vcl Message from ...
4
votes
2answers
5k views

nginx proxy_cache: limit parallel requests to a backend

I am using nginx as a reverse proxy to my backend(s). Configuration is pretty basic, e.g. the core is just: upstream myservice { server 127.0.0.1:80; server 123.123.123.123:80; } location / ...