Lasttester i molnet – Vikten av att testa

Özgür Bal Uncategorized Leave a Comment

Föreställ dig följande situation, din webbsida, webbapplikation eller ditt system är klart för lansering. Efter många månaders hårt arbete är systemet redo att installeras på servrar och börja ta emot besökare. Du har testat din tjänst för att säkerställa att allt fungerar som det ska och du är övertygad om att tjänsten kommer stå pall när besökarna börja använda den.

Dessvärre kan verkligheten bli en helt annan än vad du väntat dig, trots allt ditt testande. Det finns dock bra verktyg för att undvika och förutse vissa problem som kan uppstå. I den här artikelserien kommer vi testa och presentera ett system för lasttester i molnet som vår partner Apica tillhandahåller.

Vikten av att testa

När man pratar mjukvaruutveckling är testning det stadiet där utvecklaren säkerställer att systemet fungerar så som det är tänkt. När det gäller webbutveckling, där din sida eller applikation ska finns tillgänglig publikt, är processerna och verktygen annorlunda. Inte nog med att du har fokus på att göra en grym sida eller applikation, men du måste också försöka se till att den alltid är tillgänglig. Som tur väl är kan du förlita dig på driftpartners såsom City Network och City Cloud. Vi underlättar för dig genom att ta ansvaret för hårdvara och infrastruktur åt dig.

Trots det finns det ingenting som hindrar din sida från att “gå in i väggen” och nå en gräns där den inte längre fungerar. Om din webbsida eller applikation blir populär och får många besökare och användare kan du vara säker på att du förr eller senare kommer få prestandaproblem. Flaskhalsarna kan uppstå var som helst. Du kan ha världens bästa infrastruktur men om din mjukvara inte är korrekt konfigurerad eller helt enkelt inte anpassad för det du använder den till, finns risken att alla dina användare upplever prestandaproblem. Vill det sig riktigt illa slutar din webbsida att fungera helt och hållet.

Lasttest och Stresstest

Så, det är nödvändigt att säkerställa att webbsidan i fråga kan hantera den last som den utsätts för, eller ännu bättre, att förstå exakt var gränsen går och vad man måste göra när saker och ting går fel. Lasttestning är, precis som det låter, ett sätt att testa och se hur mycket last din webbsida eller applikation klarar av. Varje klick som görs, formulär som fylls i och bild som visas genererar en viss mängd data för varje användare. Uppdraget är att ta reda på hur många användare som kan göra detta samtidigt innan saker och ting börjar gå fel. Lasttestning innebär att man skickar sådan data till din sida, en simulering av riktiga användare helt enkelt. Du kontrollerar själv vad dessa simulerade besökare ska göra på din sida, hur många de är, vilka undersidor de besöker och hur länge de stannar kvar exempelvis.

Stresstestning är ytterligare ett sätt att testa gränsvärdena på din sida eller applikation. Dina användare agerar såklart olika när de använder din applikation eller besöker din sida.  Allt från en användare som klickar på 1-2 länkar och kollar på 1-5 bilder till användaren som frenetiskt klickar på alla länkar, bilder och laddar om din sida om och om igen.  Detta innebär att de genererar olika mängder data och att de påverkar sidan/applikationen på olika sätt. Stresstestning innebär att man skickar tunga sjok av data, närmast jämförbart med en uppsjö av riktigt jobbiga användare, till din sida. Allt är gångbart i ett stresstest och målet är att upptäcka svagheter i din utvecklingsmiljö så att de kan åtgärdas och undvikas i live miljön.

Mätningar och siffror är allt

Last- och stresstest i sig är obetydliga om du inte har ett sätt att mäta hur de påverkar ditt testobjekt. Det finns olika sätt att fånga in den här datan och det hänger helt och hållet på vad det är för typ av applikation du testar. Det kan vara en webbserver, en uppsättning script eller kanske en databas. Varje applikation har sina egna utmaningar. När du har fått rå-datan, är det oftast en bra idé att processa och filtrera den så att den går att förstå. Det kan vara en snabb överblick, relevanta siffror eller visualiserat genom grafer. De faktiska resultaten kommer hjälpa dig att fatta de rätta besluten.

Verktygen

Det finns en uppsjö av verktyg tillgängliga. Från enkla script till fullfjädrade system som innehåller olika applikationer. Oberoende av om du har ett enmansföretag, är hobbydesigner eller har ett multinationellt företag är det dina behov som styr vad du behöver.

Med tillkomsten av Cloud Computing-tjänster såsom City Cloud, har last- och stresstestning blivit ännu enklare, kontrollerat och framförallt kostnadseffektivt att utföra. Cloud computing ger dig möjligheten att allokera resurser efter behag, göra dina tester, generera rå-data och stänga ned alltihopa när du är klar. Det är definitivt bättre än att köpa/hyra servrar, vänta på att de ska levereras, genomföra testerna och sedan inse att man inte har någon nytta av dem efteråt.

Nästa steg

City Network har nyligen blivit partners med Apica Systems som specialiserar sig på tjänster för lasttester,  stresstester och monitorering av dessa. Vi håller just nu på att testa deras sytem och i nästa artikel kommer vi visa hur du kan utnyttja kraften och skalbarheten i molnet för att  upptäcka flaskhalsarna i din applikation eller sida.