varnish 2.1.4 swap and increase in objects:heads.
Per Buer
perbu at varnish-software.com
Fri Oct 29 14:26:43 CEST 2010
Hi.
The issues are actually a bit different. One uses "-s file" which
really makes the kernel handle the memory management implicitly in
comparison to you Rodrigo, which uses -s malloc, where you clearly
state that Varnish should allocate this much memory.
Regarding -s malloc we recommend that on Linux one should not use more
then 75% of the physical memory for -s malloc. In addition to the
actual object store Varnish uses quite some memory for it's internal
data structures. If you go above 75% chances are that Linux will start
swapping a bit which might have a negative effect on overall
performance. Tollef is getting back to you outside the list regarding
the issue you've raised with us.
Per.
On Fri, Oct 29, 2010 at 1:59 PM, Rodrigo Benzaquen
<rodrigo at mercadolibre.com> wrote:
> Hi Taylan, exactly the same is happening to us, we already open a ticket
> with Varnish software.
>
> Please let me know if you find a solution.
>
> Thanks
> Rodrigo
>
>
>
>
> ------------------
>
> Rodrigo Benzaquen
> @rbenzaquen
>
>
>
> ________________________________
> From: "Taylan Develioglu" <tdevelioglu at ebuddy.com>
> To: varnish-misc at varnish-cache.org
> Sent: Viernes, 29 de Octubre 2010 8:37:21
> Subject: varnish 2.1.4 swap and increase in objects:heads.
>
> Debian Lenny, Linux varnish0 2.6.33.7 #1 SMP Thu Sep 2 15:27:53 CEST
> 2010 x86_64 GNU/Linux
>
> I have a strange situation on one of our varnish servers.
>
> We recently raised the expiry on previously uncached content a
> (Cache-Control: max-age=0, to Cache-Control: max-age=5).
>
> The number of objects vs. heads increased and the system started
> swapping (vm.swappiness=0).
>
> http://lcontent.ebuddy.com/varnish/memory-week.png
> http://lcontent.ebuddy.com/varnish/varnish_objects-week.png
> http://lcontent.ebuddy.com/varnish/varnish_expunge-week.png
>
>
> I don't understand why this is happening, bug maybe ?
>
> DAEMON_OPTS="-a :27535 \
> -T localhost:6082 \
> -f /etc/varnish/default.vcl \
> -s file,/var/cache/varnish/sda/varnish_storage.bin,135G \
> -s file,/var/cache/varnish/sdb/varnish_storage.bin,135G \
> -s file,/var/cache/varnish/sdc/varnish_storage.bin,135G \
> -s file,/var/cache/varnish/sdd/varnish_storage.bin,135G \
> -s file,/var/cache/varnish/sde/varnish_storage.bin,135G \
> -s file,/var/cache/varnish/sdf/varnish_storage.bin,135G \
> -p thread_pools=4 \
> -p thread_pool_min=200 \
> -p thread_pool_max=2400 \
> -p thread_pool_add_delay=2 \
> -p lru_interval=20"
>
>
>
> ---vcl---
> sub vcl_recv {
> unset req.http.cookie;
> unset req.http.Authorization;
>
> if (req.http.host ~ "^.*host.domain.com.*") {
> set req.http.host = "host.domain.com";
> }
>
> if (req.request == "HEAD") {
> return(pass);
> }
>
> if (req.request == "PURGE") {
> if (!client.ip ~ purge) {
> error 405 "Not allowed.";
> }
> return(lookup);
> }
>
> if (req.request == "GET" && req.url == "/monitor") {
> error 200 "OK.";
> }
>
> if (req.backend.healthy) {
> set req.grace = 30s;
> } else {
> set req.grace = 48h;
> }
>
> }
>
> sub vcl_fetch {
> if (beresp.status == 404 || beresp.status >= 300) {
> return (pass);
> }
> set beresp.grace = 48h;
>
> }
>
> sub vcl_hit {
> if (req.request == "PURGE") {
> set obj.ttl = 0s;
> error 200 "Purged.";
> }
> }
>
> sub vcl_miss {
> if (req.request == "PURGE") {
> error 404 "Not in cache.";
> }
> }
> ---EOF---
>
>
> _______________________________________________
> varnish-misc mailing list
> varnish-misc at varnish-cache.org
> http://lists.varnish-cache.org/mailman/listinfo/varnish-misc
>
> _______________________________________________
> varnish-misc mailing list
> varnish-misc at varnish-cache.org
> http://lists.varnish-cache.org/mailman/listinfo/varnish-misc
>
--
Per Buer, Varnish Software
Phone: +47 21 98 92 61 / Mobile: +47 958 39 117 / skype: per.buer
More information about the varnish-misc
mailing list