On 22 July 2011 07:46, Jacek <[email protected]> wrote: > Anyone? > > I would be very grateful for any suggestions. > > Dnia 29-06-2011 o godz. 18:37 Jacek Placek napisaĆ(a): >> Hi, >> >> I'm planning on using Varnish in my project as a reverse proxy cache. >> Mainly to cache dynamically created streaming content at the backend >> side. The process is CPU intensive and takes a fair amount of time to >> complete. >> >> I would like to ask you all which of the following requirements can be >> accomplished by using the build-in functions, writing a dedicated module >> (version 3.0) or changing the default functionality by patching the >> source: >> >> 1) rate-limiting - a memcached set of counters, ex. ip address/time, >> uri/time, ... >> >> 2) streaming - content generated via a backend should be streamed ASAP >> to the client and saved to cache at the same time - ideally while the >> content is generated it would be very good to have the ability to stream >> to more then one client (non blocking object)
Except when using pipe mode (which means no caching or any further manipulation by Varnish), response objects are buffered into Varnish before being returned to the browser. This makes Varnish unsuitable for caching large numbers of videos / ISOs etc as whenever you hit an uncached object the entire large file will be read into Varnish before being returned to the user (even if all you want to do is manipulate some response headers.) >> 3) request manipulation - incoming request from a client is a HTTP GET >> (domain/object_id) and should be transformed into HTTP POST to a backend >> app extended with additional set of parameters (headers) taken from db >> (memcache, mongodb, tokyo tyrant, mysql) Varnish does not support changing the body of a request. >> 4) cache expire - based on popularity and size of an object - free space >> should be reclaimed by purging least popular objects (amount of traffic >> they generate) Yes, you can place a limit on the size of the Varnish cache and space is reclaimed along those lines. So I don't think Varnish will work for your use case. Laurence _______________________________________________ varnish-misc mailing list [email protected] https://www.varnish-cache.org/lists/mailman/listinfo/varnish-misc
