Jump to content
Sign in to follow this  
pianoforte

Hastighetsforskjell ved lagring av bilder i MySQL?

Recommended Posts

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.

Share this post


Link to post

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. ;)

Share this post


Link to post

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.

Edited by Ernie

Share this post


Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this  

×
×
  • Create New...