Guide:

Optimering av websider

Når man lager nettsider, ender man av og til opp med sider som tar lang tid å laste. Her er noen tips for hvordan du kan unngå slike ting.

Bruk caching

Caching, på norsk gjerne kalt nærlagring, brukes svært ofte i websammenheng. En webserver skal gjerne servere mange tusen brukere i løpet av få minutter, og da er det viktig at ikke bruker for mye tid på å gjøre de samme oppgavene om og om igjen. Dette løses med caching.

Dine PHP-sider blir normalt generert på nytt hver gang noen besøker siden. Dersom siden din bare endrer seg med jevne mellomrom, er det ikke noe poeng at PHP bruker prosesseringstid på å hente ut rader i en database hver gang en bruker ber om å få se siden, siden radene i databasen sannsynligvis er de samme som når forrige bruker hentet siden.

Ved å lagre en kopi av siden slik den ser ut når PHP-skriptet har kjørt, kan man spare mye prosesseringstid. Dette finnes flere måter å gjøre på, den enkleste er bare å lagre en kopi av siden det er snakk om som en .html-fil i samme katalog. I stedet for å peke brukere til minside.php, peker du dem til minside.html.

På Linux-baserte webservere kan du blant annet bruke verktøyet wget eller PHP fra kommandolinjen til å prosessere nettsiden med jevne mellomrom. Det gjør du ved hjelp av en cron-job. Hvor ofte cachingen skal skje justerer du etter hvor viktig du mener at det er at siden er helt oppdatert. Erfaring tilsier at et bra intervall kan være alt fra hvert 5. minutt til hvert 10. sekund.

Du kan også bygge caching inn i programmet ditt, ved å lagre en ny versjon av nettsidene til disk hver gang du gjør en endring i databasen som påvirker den siden. Dette må gjøres på en intelligent måte, og kan være uaktuelt dersom du har svært mange som kan endre databasen.

Hva bør caches?

Forsiden på nettsiden din er en god kandidat til caching. På de aller fleste nettsider, er forsiden den mest besøkte siden, og det er derfor viktig at det ikke brukes mye tid på å gjøre klar denne siden. Sider som sjelden endres, er også lurt å cache. Blant annet er forsiden på alle sidene i nettverket cachet.

Om du presenterer artikler og nyhetssaker, kan det og være en idé å cache de individuelle artiklene, men pass på at eventuelle kommentarer som vises på siden blir gjort synlig med en gang. Om en bruker legger inn en kommentar og den ikke kommer opp når han besøker siden igjen etterpå, er det stor risiko for at han poster kommentaren sin på nytt, eller blir irritert fordi siden din "mistet kommentaren hans."

Sider som inneholder navnet på brukeren du er innlogget som, kan være vanskelige å cache. Her må man passe på at man ikke viser en bruker en cachet versjon som inneholder navnet til en annen bruker.