WordPress, prestanda och Azure

Tech

/

Posted on

April 16, 2015

Om ni kollat runt lite på Microsoft Azure marketplace så har ni säkert noterat att det finns en hel del färdiga tjänster och maskiner att dra igång.

Vi fick i uppdrag att hjälpa en kund att sätta upp en ny WordPress installation i Azure. På Microsoft Azure Marketplace finns ett flertal olika web apps och VMs för Wordpress. Målet här var att få igång en WP med MySQL för test. Skapade en Wordpress WebApp med tillhörande MySQL. B1 för WebApp med en Mercury DB (Gratis).

Själva MySQL databasen ligger inte hos Azure, eller jo det gör den.. Men den ligger hos en leverantör som heter clearDB som i sin tur kör sin MySQL-tjänst på Microsoft Azure. Den kostnadsfria varianten Mercury är rätt begränsat i vad man kan förvänta sig för prestanda. Se här.

Deployment av wordpress-tjänsten från Marketplace gick smidigt, och på ett par minuter var både webapp och DB igång. Nu var det bara att surfa in mot webapp URLen *.azurewebsites.net och sätta upp WP med konfig.

Efter lite tester så märkte vi att det gick trögt, riktigt trögt. Siten tog extremt lång tid att ladda och det kändes som om något inte var helt optimalt. Förmodligen DB som var trött i och med att vi körde på gratisvarianten Mercury från cleardb. Fördelarna med Azure här är att det är väldigt lätt att ändra tier eller skala om burkarna lite som man vill. Vi ville inte lägga ned för mycket tid på att felsöka exakt vart problemet låg, utan vi körde på approachen "kasta mer järn på problemet".

För wepbapp så ändrade vi till en S2. Databasen kan man i dag inte ändra profil direkt i Azure, utan man får gå via cleardb som även har en separat betalningslösning och inte är kopplad till din Azure subscription. Venus för 9.99 USD per månad verkade vettig för vårt ändamål.

Efter att ändrat både webapp och DB till lite värre prylar så körde vi samma tester igen. Fortfarande trögt. Marginelt bättre. Surfade in på tools.pingdom.com för att få en snabb överblick över hur siten laddar. Allt från 3,5 till 8 sek för att ladda förstasidan.

Inte ok, denna borde ladda på under sekunden.

Plan B, Istället för att köra med Azures egna WordPress tjänst så kör vi på Bitnamis WordPress-stack som finns att deploya direkt från vmdepot in i Azure. Valde att köra på en Basic B1.

Några minuter senare och VM är deployad och klar.

Flytt av WordPress-data gick fort, lite krångligare var det att luska ut hur man får loss en dump av databasen från cleardb. FAQ

Allt igång, data och db migrerat till ny VM. Samma testar igen, och nu laddar siten bra mycket snabbare.

Vad har vi lärt oss av detta då?

  • Azure MySQL lösning ligger hos clearDB (som ligger på Azure)
  • Prisättningen ligger utanför din Azure subscription
  • Du får till en snabbare och billigare lösning om du väljer att köra en VM för WP istället för en Webapp och cleardb. (Något är inte helt optimalt med den färdiga byggda paketeringen)
  • Vill du kunna skala smidigt så kör inte allt på en maskin.

Written by

Risto Lavett