|
Programiranje Java, Perl, VB, ASP, .NET, C, C++, Pascal, Delphi Sponzor: |
|
Alati teme | Način prikaza |
27. 07. 2008. | #1 |
Ivan Dilber
Sir Write-a-Lot
|
updejt cache-a i kako spreciti efekat lavine?
Krenuo sam da radim na jednom sistemu koji ce (bar se nadamo) da ima heavy load, i koristicu agresivno kesiranje gde god mogu. Jedna stvar koja me brine oko te arhitekture je situacija kad kesirani podatak postane nevalidan (expire-uje) i treba ga osveziti. Kod vecine cache sistema koje sam gledao (memcache, APC) ne postoji nikakav sistem zastite da spreci da svi klijenti krenu da istovremeno updejtuju cache, sto (teoretski) moze da stvori strasan peak na bazi (pogotovo ako se osvezavaju i podaci u bazi pa dodje do lockovanja), sto opet za posledicu ima da se sve uspori, pa jos klijenata naleti koji isto krenu da salju upite bazi i onda sve pukne najstrasnije...
koje su tehnike da se to spreci? Jedna fora koju znam je da se cache ne updejtuje iz klijenta, nego periodicno iz cron procesa, ali to mi nije zgodno bas uvek (jer onda serviram zastarele podatke, sve dok cron ne odradi posao). Druga stvar koja mi je pala na pamet je da se doda neka vrsta semafora, pa kad prvi proces krene da updejtuje, on stavi lock, tako da drugi ne pokusavaju updejt, ali to bas nije trivijalno da se uradi u php-u. Any other idea?
__________________
Leadership is the art of getting people to want to do what you know must be done. |
27. 07. 2008. | #2 |
Vladan Zirojević
Grand Master
|
Pitanje je sta kesiras i koliko je dopustljivo da neko dobije sadrzaj koji nije 100% svjez...
Ukoliko ima jako malo insert/update u odnosu na select, mozes brigu o kešu prebrinuti u trenutku kada se desi insert/update - tada osvjeziti keš. Sto znaci da klijenti uvijek citaju samo iz keša, tj keš nema vrijeme isticanja sam po sebi. To sa semaforima... pa moze ti posluziti obican fajl na disku, prvi proces koji krene da radi update ga setuje i svi ostali samo provjere da je update u toku i "iskuliraju". Mozda nesto propustam, sutra idem na odmor |
|
|
Slične teme | ||||
Tema | Početna poruka teme | Forum | Odgovori | Poslednja poruka |
Kako najlakše obrisati browser cache? | mangia | Web design, Layout, User Interface | 13 | 31. 03. 2010. 22:00 |
Mnogo jak efekat | Mitrović Srđan | Sva početnička pitanja | 7 | 19. 04. 2008. 14:22 |
Fisheye efekat | kodi | (X)HTML, JavaScript, DHTML, XML, CSS | 5 | 14. 11. 2007. 03:43 |
Kako spreciti zaobilazenje LOG FORME korisnika | pele | Sva početnička pitanja | 9 | 08. 07. 2007. 23:39 |
Kako ubiti FF cache ? | ivanhoe | (X)HTML, JavaScript, DHTML, XML, CSS | 15 | 03. 03. 2006. 17:20 |