greygenic Skrevet 9. mai 2010 Del Skrevet 9. mai 2010 (endret) Etter å ha grublet i flere uker på dilemmaet nedenfor bestemte jeg meg for å legge det ut her for å høste andres erfaringer om saken - så jeg kan få tatt det endelige valget og få begynt. Bakrunn for dilemmaet er at jeg skal lage en forholdsvis stor og tung nettside som etterhvert vil få veldig mye innhold (hyppige spørringer mot en stor database og ellers mye mediainnhold i form av vanlige bilder og Flash), og som forhåpentligvis vil få svært mange aktive brukere en gang i fremtiden. På tidligere prosjekt har jeg ofte latt meg rive med når jeg har lagd hovedmalen for siden - der både doctype, head-innholdet, lenker, kropp og fot ble liggende i fellesfiler eller i databasen, noe som da gjorde siden enkel å administrere om man hadde lagd administratorsider til brukeren som kunne behandle innholdet.. Men: Å stadig måtte gjøre databasespørringer-, og/ellers bruke serverside scripting for å generere alt innholdet på siden sluker (nå ihvertfall litt?) ressurser, og gjør siden mindre stødig enn om den hadde vært mer statisk. Dilemmaet: 1) Scripte her og scripte der - for å gjøre det enklere, men som gir en server som må arbeide mye mer? eller 2) Alt utenom kropp i vanlig html - noe som gjør sidene lette å kjøre, men som gir fryktelig mye arbeid om en eller annen detalj må endres i 40+ forskjellige filer? Hvor mye mer krever egentlig f.eks. 5x "require('_fot.php');" istedet for vanlig html-kode? Endret 9. mai 2010 av greygenic Lenke til kommentar
Jonas Skrevet 9. mai 2010 Del Skrevet 9. mai 2010 (endret) Hvor mye mer krever egentlig f.eks. 5x "require('_fot.php');" istedet for vanlig html-kode? Absolutt ingen ting. Go for it. Edit: Hvis du virkelig tror at du trenger å optimalisere, så finnes det vesentlig bedre ting å gjøre. En god og riktig konfigurert database, litt skikkelig serversoftware og caching av data er ting som kan gjøre alt hundre ganger raskere. Ikke tenkt på slike dustete ting som hvor mange includes du har her og der. Ikke hør på folk som forteller deg av print er raskere enn echo. Begynner du i den enden får du bare masse hodebry og oppnår ingen ting. Den verste overheaden kan du prøve å luke ut med f.eks. xdebug. http://memcached.org/ http://xcache.lighttpd.net/ http://www.squid-cache.org/ Endret 9. mai 2010 av Jonas Lenke til kommentar
Gjest Slettet-rXRozPkg Skrevet 9. mai 2010 Del Skrevet 9. mai 2010 Bruk PHP+caching. Enten lager du din egen greie der du lagrer output som html-filer og sender disse til nettleseren, eller så bruker du noe av det Jonas kom med. Andre alternativer er: http://varnish-cache.org/ (Blir brukt av f.eks. VG, Dagbladet og Aftenposten) http://php.net/manual/en/book.apc.php (Blir brukt av Facebook) Lenke til kommentar
tomsi42 Skrevet 10. mai 2010 Del Skrevet 10. mai 2010 Det finnes vel også templatesystemer som kan være nyttig for å få strukturert tingene? Lenke til kommentar
greygenic Skrevet 11. mai 2010 Forfatter Del Skrevet 11. mai 2010 (endret) Etter å ha lest meg opp på caching og fått skrevet og testet kode på localhost, gikk jeg så for en løsning der nesten alt sideinnholdet blir langvarig cached. Og dét gir jo en stor fordel om det i fremtiden skulle bli mer massiv kode - ansvarlig for innholdet. Men, "problemet" er jo fortsatt det samme: Selve websiden blir jo fortsatt generert on the fly - og så lenge jeg må ha en viss dynamikk i siden kan jeg ikke 'safe' og bruke flate filer. Kanskje er det bare slik at dette virker for meg som noe høyst uforutsigbart tøys, jeg er kanskje for pessimistisk til serversice scripting - det er kanskje mye mye bedre enn jeg tror?? Jeg alltid har vært mer enn "programvare-mann" - først C, så C++, også Java (takket være NTNU) - der min egen precious (kilde)kode aldri kunne bli synlig selv om noe skulle klikke.. Det er derfor kanskje bare noe jeg må bli vant med? Isåfall; here I come! Endret 11. mai 2010 av greygenic Lenke til kommentar
Jonas Skrevet 11. mai 2010 Del Skrevet 11. mai 2010 (endret) At ting opp til et visst nivå simpelthen må genereres er du nok nødt til å leve med, ja. Har selv erfart, i større objektorienterte prosjektet vel og merke, at man i hvert fall har 2-4 ms i koden som tilsvarer ting som faller utenfor kontrolleren i MVC-arkitekturen. Og det er hvis vi har brukt mye tid på å optimalisere, som i og for seg ikke alltid er så populært. Se på forumet du sitter nå. Siden tar typisk 100+ ms å generere, med 10+ spørringer mot databasen. Og dette kjører relativt fint med svært mange brukere. Endret 11. mai 2010 av Jonas Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå