Using varnish-2.1.5 SVN<div><div><br><div class="gmail_quote">On Fri, Apr 29, 2011 at 11:26 AM, Howard Rauscher <span dir="ltr"><<a href="mailto:howardr@gmail.com">howardr@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

<div>My company had an interactive widget posted on the homepage of a very high traffic media company during the Royal Wedding. We were hosting most of the widget on Amazon S3, but every 5 seconds we polled our server via JSONP to get updated stats about the event.</div>



<div><br></div><div>A couple of weeks ago we realized that JSONP effectively cache busts varnish. I searched around the internet and found a novel way to use our varnish server to mitigate this situation.</div><div><br></div>



<div>Here is an example of our VCL:</div><div><a href="https://gist.github.com/f1d91b64acdb3f1d7769" target="_blank">https://gist.github.com/f1d91b64acdb3f1d7769</a></div><div><br></div><div>At around 5:00am US CST (maybe earlier), about a 1/3 of our api through varnish returned 503's. We ended up just removing the relevant JSONP solution and let varnish to be cache busted. Now that the situation has cooled off a little, I was wondering if I could get some advice on this config.</div>



<div><br></div><div>Is this a good solution to the JSONP problem?</div><div><br></div><div>Our setup:</div><div><ul><li>6 EC2 servers (not sure which setup)</li><li>Each server had one varnish and one webapp</li><ul><li>


7188 megs of ram each</li>
<li>2 GB allocated to varnish</li><li>~1500 req/s</li><li>99.2% hit rate</li><li>And example backend success were ~600/s and backend failures were ~300/sec</li></ul></ul></div><div>An example url would be:</div><div>/username/streamname.json?jsonp=callback8&items=item1,item2</div>



<div><br></div><div>The 503 response would contained text "Guru Meditation:XID: 1518618356". Not sure what that means though.</div><div><br></div><div>thanks,</div><div>Howard</div>
</blockquote></div><br></div></div>