Hem >> Bloggar >> Teknikbloggen >> Öka prestandan på en Drupal 7 sajt med Boost

Öka prestandan på en Drupal 7 sajt med Boost

  • Posted on: 13 November 2013
  • By: Pontus

Missnöjd med laddtiderna på din Drupal hemsida? Det var jag. Det finns en relativt enkel lösning som inte kräver mycket tid men som ger väldigt mycket bättre prestanda.

Först lite bakgrund varför Drupal kan vara så segt. Php är ett script språk som Drupal är baserat på, php är till sin natur rätt så långsam eftersom att koden för varje sida måste tolkas och behandlas av webbservern varje gång någon besöker en sida. Dessutom så ligger all information i en SQL databas, vilket betyder att för varje sida som ska skapas av webbservern så skickas många frågor till databasen vilket ökar på tiden att skapa sidan ännu mer. Drupal är tack vare alla moduler väldigt mångsidigt och du kan göra väldigt mycket. Nackdelen med många moduler är att varje modul skapar mer kod som måste behandlas och eventuellt även mer databasfrågor. Så det första steget är att minimera antalet moduler som krävs. Inaktivera alla som du inte måste ha. Om du kan lösa en sak utan att använda en modul så är det, iaf ur prestanda hänseende, oftast en fördel att undvika modulen.

När antalet moduler är minimerat men sidan ändå är för seg så finns det en relativt enkel lösning för att minska tiden drastiskt, dessutom så kommer belastningen på servern att minska. Lösningen finns i form av en modul som heter Boost. Det Boost gör är att den skapar en ren html version av alla noder och sidor. När sedan någon besöker hemsidan så kommer webbservern, istället för att behandla php-koden och alla databas frågor, att skicka html-filen. Det här kommer drastiskt att minska tiderna det tar för besökarna att kunna se hemsidan. Det här gäller dock bara sidor för annonyma besökare, så du kommer inte att märka någon skillnad när du är inloggad.

Min installation gäller för en Linux server med apache som webbserver. Därför kan vissa steg vara anorlunda om du kör med en annan plattform.

Förutom Boost så behöver vi två till moduler, Cache expiration och httprl. Tyvärr är både Boost och Cache expiration i beta versioner, vilket jag brukar undvika att använda på en produktionsmiljö. Jag har testat det här upplägget på min testsida och hittintills så har jag inte stött på några problem och jag har inte sett så många andra som har problem med dem. Därför har jag beslutat mig för att använda dem ändå.

Kategorier: 

Sidor