Avatar billede b_ Nybegynder
02. oktober 2006 - 10:24 Der er 9 kommentarer og
1 løsning

billed vs. url

Hvad er bedst? smartest? og hurtigst?

Jeg har noget data i en database, hvor jeg skal have tilknyttet et billed til hver datastreng.
Mit spg. går så på om det er bedst at uploade billedet i db'en og så hente det derfra når indholdet skal vises eller at uploade billederne normalt på mit domæne og så knytte url'en til billedet i db'en til datastrengen?
Avatar billede bromer Nybegynder
02. oktober 2006 - 11:49 #1
Jeg ville lægge billederne som alminelige filer og referere dem i databasen med en url. Databasen har ikke kendskab til data'ens type, og der er derfor ikke umiddelbart en grund til at gemme dem deri.
Avatar billede b_ Nybegynder
02. oktober 2006 - 16:00 #2
Min begrundelse for at gøre det er, at det er nemmere, da der er flere der skal uploade til databasen, og ikke alle har stor viden inden for it/teknik, derfor er min ide at lave et billed upload script, som "tager brugeren i hånden".

Jeg søger fordele/ulemper ved forholdsvis at uploade billedet til db'en eller bruge url'en i stedet. Er det hurtigere på den ene måde? Har det nogen betydning etc etc.
Avatar billede arne_v Ekspert
02. oktober 2006 - 21:12 #3
Det er nemmere at administrere billeder i databasen.

Alle udviklere har hoert at det er hurtigere at have billederne i fil systemet og
kun filnavn i databasen fremfor hele billedet i databasen.

Jeg har testet lidt paa det (skriv hvis nogen vil se programmer
og resultater) og jeg kan ikke bekraeftige det.
Avatar billede b_ Nybegynder
03. oktober 2006 - 11:25 #4
Ja har godt hørt den med: "Alle udviklere har hoert at det er hurtigere at have billederne i fil systemet og kun filnavn i databasen fremfor hele billedet i databasen."

Men hvor meget, og vil det betyde det store?

Jeg vil gerne se dine testresultater ;)
Avatar billede arne_v Ekspert
03. oktober 2006 - 12:34 #5
File (1 threads): 1,9 get per second
File (10 threads): 2,2 get per second
File with web app cache (1 threads): 6,6 get per second
File with web app cache (10 threads): 16,1 get per second
File directly by web server (1 threads): 17,6 get per second
File directly by web server (10 threads): 20,1 get per second
Database (1 threads): 10,7 get per second
Database (10 threads): 11,8 get per second
Database with web app cache (1 threads): 15,4 get per second
Database with web app cache (10 threads): 19,6 get per second
File (1 threads): 1,9 get per second
File (10 threads): 2,2 get per second
File with web app cache (1 threads): 16,7 get per second
File with web app cache (10 threads): 19,4 get per second
File directly by web server (1 threads): 17,1 get per second
File directly by web server (10 threads): 20 get per second
Database (1 threads): 10,7 get per second
Database (10 threads): 11,9 get per second
Database with web app cache (1 threads): 17,3 get per second
Database with web app cache (10 threads): 19,6 get per second
File (1 threads): 1,9 get per second
File (10 threads): 2,1 get per second
File with web app cache (1 threads): 16,8 get per second
File with web app cache (10 threads): 17,8 get per second
File directly by web server (1 threads): 17,6 get per second
File directly by web server (10 threads): 20,1 get per second
Database (1 threads): 10,7 get per second
Database (10 threads): 11,6 get per second
Database with web app cache (1 threads): 17,1 get per second
Database with web app cache (10 threads): 19,5 get per second
Avatar billede arne_v Ekspert
03. oktober 2006 - 12:35 #6
testet med ASP.NET op mod MySQL og med 25 KB billeder
Avatar billede b_ Nybegynder
10. oktober 2006 - 17:49 #7
Havde lige glemt denne tråd..

Arne: har du også testet det med php og mysql? Eller tror du det bliver nogenlunde samme resultat?
Vil gerne have forklaret Database with web app cache kontra Database. Hvilken bruger man når man bruge default? Vel den sidste?
Avatar billede arne_v Ekspert
10. oktober 2006 - 18:34 #8
Jeg har ikke testet med PHP.

PHP burde give nogenlunde tilsvarende resultater, bortset fra at jeg ikke
helt et klar over hvordan man laver en application wide cache med binaere data i PHP.

Web app cache betyder at web app (altsaa ASP.NET har en cache saaledes at hvis samme
billede hentes kort tid efter igen, saa skal den ikke hentes fra fil eller database,
men kan hentes fra cachen). Det sker ikke automatisk, men er dog ret nemt at kode.
Avatar billede b_ Nybegynder
10. oktober 2006 - 19:09 #9
Hmmm ok, troede nemlig at det skete automatisk? Men forveksler det nok med browseren cache.

Tror den del jeg kan bruge er Database vs. File directly by web server hvor databsen faktisk næsten er dobbelt så langsom..

19,5 get per second = 19.5 kb per second

Vil gerne lidt for point for denne viden, så smid et svar... En anden ting nu jeg har dig ;) har du et forslag til http://www.eksperten.dk/spm/737431 ?
Avatar billede arne_v Ekspert
10. oktober 2006 - 20:07 #10
Client cache er noget andet.

Hvis du sammenigner de to er fil systemet hurtigere. Men husk paa at du saa ikke har
samme kontrol med billederne.

19,5 get per second = get af 19,5 billeder af 25 KB per sekund = ca. 500 KB/sekund

og svar

jeg kan da proeve at kigge paa det
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester