Gå til innhold

Flatfil vs Database caching


Anbefalte innlegg

Videoannonse
Annonse

Tenkte meir på fordeler og ulemper ved å bruker flatfiler eller databaser til variabel caching for å spare rendrings tid og server resursser.

 

Sjølv så tenker eg at ei flat fil kanskje vil bli ein flasketut når mange besøker ei side samtidig (Noen prosesser må vente mens ein anna leser fila?). Men så er jo ein database i utganspunktet ei fil det og, eller?.

 

Er på ingen måte sikker på dette var derfor eg posta ein tråd her.

Endret av Runar0
Lenke til kommentar

Er ikke vitsen med caching at du skal slippe å ha så stor trafikk til mySQL serveren? Alltså at du cacher det som mySQL skriver ut? Isåfall ser jeg ingen vits i å cache hvis du lagrer cachen i databasen.. Rett meg hvis jeg tar feil.. :)

Lenke til kommentar

Når det kommer en ren leseytelse er filer overlegen samme hvordan man ser på det. Du skal lage et bra komplisert format før en database lønner seg, selv om man bruker MySQL m/memory-tabell(er). Dette kommer primært av at det tar tid å koble seg opp mot en database, siden det trossalt som oftest går over et nettverk. Dog, straks man skal skrive til filen blir ting verre. Riktignok låser MyISAM av hele tabellen straks det skal gjøres endringer, så det er ikke nødvendigvis slik at databasen (eller helt spesifikt MySQL m/MyISAM-tabell(er)) er raskest da heller, men en database vil helt klart i utgangspunktet by på bedre ytelse.

Lenke til kommentar

Hvis du skal cache noe så bruk memcached. Hvis du ikke får til å sette opp memcached så dump den genererte html'en (eller hva du enn skal cache) i en tabell i mysql.

 

Implisitt i svaret mitt ligger det at tekstfiler er et veldig dårlig alternativ, men jeg tar det med eksplisitt likevel.

Lenke til kommentar

apache er spesialisert til å håndtere fil visninger og mye mer, mysql er spesialisert til å vise database resultater. men det tar litt tid å koble opp mot database. caching i filer er nok det beste alternativet. apache holder helt sikkert mye brukte filer i minnet. spørsmålet er vel om man har hardware til å takle brukerene.

Lenke til kommentar
  • 1 måned senere...
apache er spesialisert til å håndtere fil visninger og mye mer, mysql er spesialisert til å vise database resultater. men det tar litt tid å koble opp mot database. caching i filer er nok det beste alternativet. apache holder helt sikkert mye brukte filer i minnet. spørsmålet er vel om man har hardware til å takle brukerene.

8998578[/snapback]

Apache er slettes ingen kjapp server, og er ikkje eingong samanlikningsverdig på dette punktet mot f.eks. lighttpd/nginx. Apache har den fordelen at den er stor, kjent og har mange moduler tilgjengeleg. MySQL er heller ikkje eit fartsmonster, og er ikkje like kompatibel med SQL-standarden som f.eks. PGSQL.

Filcaching er absolutt ikkje det beste alternativet. Lese/skrive til disk er treigt i forhold til minnebasert lagring. memcached er, som Oracel seier, heilt overlegen resten av konkurransen. Om ein legg Perlbal foran memcached-serveren igjen er kombinasjonen upåklagelig. :)

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...