Memcached - efektivita cache

5. leden 2021 | 13.18 | rubrika: servery všeobecně

memcached efektivitaDnes jsem bohužel musel restartovat cache Memcached. Udělal jsem ve skriptu chybu a začalo cachování blábolů. Nešlo to jinak smazat než prostě celé resetnout. Ztratil jsem tak 1 den testování. Naštěstí jen jeden. S touto verzí jsem začal včera.

Zajímá vás efektivita takové cache? Tohle je graf po 2 hodinách provozu. Říká, že se uložilo 285MB dat a z cache odešlo 433MB. Rozdíl 148MB je ta efektivita. Tolik dat se nemuselo znovu spočítat a stačilo to vzít z už uložených hotových dat.

A přitom je vidět, že 45% požadavků cache neobsahuje.

Nikdy se nedá dosáhnout 100%, ale ze zkušenosti vím, že dosáhnout přes 80% je v mém případě a 2GB cache otázka asi 4 dnů. Poloviční cache má za 4 dny nad 75% a je to také její maximum +/-.

Už se těším na ještě větší cache. Jsem zvědavý na kolik % se jde dostat.

Na serveru jsem začal logovat všechny SQL dotazy cca 1 hodinu. I tak to bylo moře dat. Vyšlo mi z toho toto:

co do cache
SQL dotazy nejsou celé vidět, je to schválně, bezpečnost

Probral jsem nejčetnější dotazy. U prvních jsem dal cachovat více informací než původně, takže záběr cache bude o něco větší. U dalšího jsem si všimnul, že po DB požaduji zbytečnou informaci, která mě zajímá méněkrát než ji chci. To jsem upravil. V dalším případě jsem z count a update udělal spojený SQL dotaz, který tedy nahradí polovinu dotazů. Jen bylo potřeba přidat primární klíč a kvůli tomu jsem vytvořil nové pole v tabulce. U dalších jsem začal data do cache nově ukládat.

Efekt? Ušetřil jsem přibližně 8.000 dotazů za hodinu. Zdá se vám to dost? 8.000/3600 = 2,2 dotazu každou vteřinu. Server zpracovával přibližně 100 dotazů každou vteřinu.

Od té doby co pracuji s memcached klesl tento počet na polovinu a moje poslední úprava tak neušetří 2%, ale přibližně 4,5%. To už mi přijde celkem zajímavé číslo.

 memcached 4h
cache po 4 hodinách

memcached 6h
cache po 6 hodinách, poměr užitečnosti jde pomalu nahoru

memcached 24h
čísla po 24 hodinách

% toho co cache obsahuje jde nahoru jen líně. Ušetřená data, ale rostou velice hezky. Poměr už je přes 1:2.

Nejvíce cache plní vyhledavače takže % toho co se po cache chce polezou nahoru až vyhledavače budou chtít stejnou stranu jako už chtěly. Zatím nejvíc položek má platnost jen 24-48 hodin. Věřím, že až expiraci prodloužím na týden dostanu se na lepší % než cca 80%. Ale tohle testování bude dlouhé. Chci mít jistotu, že to má smysl, který zaplatí dražší provoz.



Komentáře k článku: Memcached - efektivita cache

 
Zatím bez komentáře.

Zpět na hlavní stranu blogu