Есть ли лучший способ проанализировать процент попаданий Varnish

В настоящее время я анализирую процент попаданий varnish следующим образом

enter image description here

Хотя это и хорошо, основная часть запроса, обслуживаемого сервером, не кэшируется. Это резко снижает процент попаданий.

enter image description here

Как я могу изменить это так, чтобы я считал только запросы, которые являются кандидатами на кэширование, и вычислял скорость? Какую метрику varnishstat мне следует искать?

1
задан 21 August 2017 в 15:47
1 ответ

Úgy tűnik, hogy a statisztikák pontosak, de azt szeretné, ha egyes URL-ek nem számítanának hiánynak.

Attól függ, hogy mit ért a nem gyorsítótárazott kérelmek alatt. Ha van olyan URL-minta, ahol tudja, hogy minden URL-kérés egyedi lesz, akkor miért is keresse meg azt az URL-t, vagy írja be a háttérprogram válaszát a gyorsítótárba?

Tehát zárja ki az elengedni kívánt URL-eket egy Varnish konfigurációs fájlban, mint például a. vcl:

sub vcl_recv {
    # Do not cache following pages
    if (req.url ~ "^/monitor.*\?heartbeat=") { 
        return (pass); 
    }
}

További információkért olvassa el az man vcl cikket, vagy nézzen meg néhány példát a Lakk wiki oldalán.

Egyébként POST-ok (automatikusan nincsenek gyorsítótárban), vagy kizárásra kerülnek a .vcl fájlban?

Ez nem statisztikai probléma. Ha a vcl_recv () egy hozzáférési vagy hibát ad vissza, akkor ez nem számít keresésnek vagy hiányzásnak (lásd a folyamatábra itt ), és a meglévő számításod már reprezentatív.

varnishstat -l , az lakk dokumentumok alapján, és amit látok, Munin-ben ábrázolható, nincs releváns számláló, amely bármi jelentősen eltérne a cache_hit vagy a cache_miss értékektől.

  s_req = client_req = (cache_hit + s_fetch) 
  s_fetch = cache_miss + s_pass

Tehát 1 - (s_fetch / s_req) rosszabb találati aránynak tűnik, mint amilyen már van, az elhaladt vagy a 'nem gyorsító jellegű' oldalakat hiányzónak számolja, ha még nem.

(Egyébként , ha megváltoztatja a háttérképet a 'cache-elhetetlenné' oldalra, akkor nem hiszem, hogy a Varnish számít backendenkénti kérésekre.)

Ostoba ötlet: futtathatná logtail varnishncsa.log | grep -c "\ (POST \ | bármiURLisnoncacheable \)" , és vonja le az eredményt az összes kihagyásból, de sok munka valószínűleg kevésbé pontos eredmények elérése.

0
ответ дан 4 December 2019 в 04:40

Теги

Похожие вопросы