Gå til innhold

Hastighetsforskjell ved lagring av bilder i MySQL?


Anbefalte innlegg

Videoannonse
Annonse
Vil det utgjøre en stor hastighetsforskjell å lagre bilder (30-50Kb) i en MySQL-database og hente de fram med PHP, fremfor å lagre de som selvstendige filer?

5372868[/snapback]

Dersom bildene skal hentes ut sammen med annen informasjon (og dataene eventuelt er denormalisert for ytelse) så kan man tjene noe i ytelse ved å redusere antall diskoperasjoner. Hvis lasten er så lav at antall diskoperasjoner pr sekund ikke er en begrensende faktor så vil du sannsynligvis ikke merke noen forskjell.

Lenke til kommentar
  • 3 uker senere...

Det som kan være et problem er at bildene ikke nødvendigvis blir streamet til klienten, men først loadet og så sendt til klienten.

 

Forskjellen er at når du streamer så leser du kanskje en 4k blokk med data og sender den før du leser neste blokk (litt forenklet), mens hvis du ikke streamer så leser du inn hele bildet på 50k i minne og så sender du det.

 

Problemet er minnebruken, det er stort sett ikkenoe problem, men hvis du skal hente ut mange bilder samtidig kan det dra veldig mye minne.

 

Det kan også godt være at mysql/php og evt databasedriver sørger for å gjøre dette vha streaming, da er det ikkenoe problem. ;)

Lenke til kommentar

Nå er det verdt å merke seg at det å cache opp output fra et php-script før den sendes ofte gir 10-15% mindre "load" enn å sende det direkte. Dette fordi man kan sende ut "alt i et" i stedet for å stykke det opp. Riktig nok tviler jeg på at man får så alt for mye bedre ytelse i dette tilfellet, men det er verdt å iallfall merke seg at det å cache opp output ikke er synonymt med dårligere ytelse.

 

Når det er sagt så tror jeg nok bilder lagret på disk og ikke i database vil være raskest. Det er mulig man kan klare å få bedre ytelse om man kjører bildene i en heap/memory-table, men så var det dette med minnebruken og ikke minst hva man gjør når serveren restartes o.l.

Endret av Ernie
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å
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...