Stresstestning
Stresstestning innebär att man matar ett ordna med stora mängder data eller kommandon i fort takt. Stresstest är en verkningsfull förfaringssätt inom testning av program samt ordna för att se- Om systemet är skalbart, dvs försåvitt tillförande av mer resurser (processorer, minne, diskar etc) skänker ökad prestanda. Annorlunda uttryckt, räcker det att addera mer deg för hårdvara samt licenser för att accelerera genomströmning eller krävs det höga utvecklingskostnader? En enstaka tillägg webbserver samt lastbalanserare är närapå alltid mycket billigare än att forma samt montera ett ersättningssystem
- Om systemet funkar även mirakel temporär överbelastning, önskvärt är att systemet lägger sig nära maximal genomströmning skada fortsätter att fungera, inga delar/komponenter kraschar
- Om systemet fortsätter funkar vid långvarig påverkad börda som likväl ej är en överbelastning, här hittas minnesläckage samt liknande resursslöseri
- Vilka komponenter i systemet som är första flaskhalsen samt va som händer försåvitt flaskhalsen undanröjs, normalt fortsätter man med kommande flaskhals så länge som tidrymd samt kostnader tillåter det samt så länge som undanröjandet ökar systemets genomströmning
- Att systemet klarar av att flera samtidiga användare, här hittas funktionella felaktigt som är väldigt svårhittade med traditionella funktionella testmetoder. Här ser man försåvitt låsningar i databaser hanteras rätt, sessioner flyttas mellan webbservrar utan problem, det finns så kallde rally conditions, etc
Centrala begrepp
De huvudsakliga begreppen inom stresstestning är genomströmning, svarstid samt virtuell användare. Vid testningen försöker man accelerera genomströmningen så mycket det promenerar samtidigt som svarstiderna hålls relativt konstanta. Genomströmningen ökas genom att använda allt från en enstaka virtuell brukare opp mot flera hundra.
Prioritering
För att kunna sköta samt begripa systemet som mäts, krävs en analys av systemet samt dess dataflöden. Det krävs likaså att man förstås sammanhanget som systemet används i. Villig detta insiktsfull promenerar det att begripa vilka brister som är allvarliga felaktigt samt vilka som små skönhetsfel, ja kanhända mot samt med brister som ingen någonsin märker mirakel utvecklingen eller den funktionella testningen - skada som skänker stora problem när systemet sätts i tillverkning.
Naturligtvis vill man mäta korrekt saker, att man väljer ut korrekt del eller dataflöde.
Kortslutningar
Efter analysen av systemet framgår det vilka komponenter som det består av. Det kan agera försåvitt en webbserver som pratar med en tillämpningsserver som i röta pratar med en databasserver. Kanhända finns det en koppling mot en stordator med kunddata eller en extern koppling mot en certifikatfabrik, http://www-5.ibm.com/se/news/2001/06/27-bank.html. I stresstestning kopplas vissa delar dän för att komma åt flaskhalsar. Detta kallas att kortsluta vissa komponenter.
I detta exempel kan man förändra ut kopplingen mot certifikatfabriken med ett litet program som returnerar redan inspelade svar. Syntaktiskt riktiga facit skada med lönlöst innehåll. Villig detta insiktsfull hindras ej en ökning av lasten av ett externt system.
På samma insiktsfull kan databasen kopplas dän eller mätning förekomma direkt mot tillämpningsservern utan att behöva lita mot webbserverns genomströmning, istället kan mätningen koncentrera sig villig tillämpningsserverns prestanda samt affärslogiken där.
Mätning
Vid en prestandamätning inom stresstestning utförs först en referensmätning. Svarstid vid lägsta möjliga börda mäts upp. En enstaka virtuell brukare används. Därefter ökas börda genom använda flera virtuella brukare samtidigt. Både genomströmning samt svarstid för varje överföring hålls alltid mirakel uppsikt.
Automatisering
Då stresstestning oftast utförs av datorer (testprogram) istället för av mänskliga testare så lämpar sig denna format av testning väl för atuomatisering. Ett väl konfigurerat ordna för stresstestning (både insamling samt analys av data) kan med fördel automatiseras samt köras nattetid samt villig så fason ge färsk information försåvitt systemets prestanda, detta leder i sin röta mot att systemets prestanda-attribut kan spåras mirakel implementationsfasen.
Olika symptom
Några vanliga olika symtom som kan upplevas från systemet som testas är att när genomströmningen fortsätter accelerera när fler virtuella brukare läggs mot så har systemet mer att ge. Maximinivån villig börda har ej uppnåtts.
När genomströmning ej längre ökar fastän att fler virtuella brukare läggs mot för att accelerera belastningen, samtidigt som svarstiderna börja öka, så har maximal belastningsnivå, som systemet kan hantera, överskridits. Ligger istället svarstiderna kvar villig sin nivå utan att accelerera markant, så har maximal nivå hittats. Det vill säga, maximal nivå villig just denna konfiguration med hård- samt mjukvara.
Om felaktiga, eller inga, facit börjar ges av systemet, så har något vandrat haveri.
/Klaus Zeuge
Mätprogram
- är en avgiftsfri applikation från Microsoft för stresstest av webtjänster, exempelvis sådana som körs mirakel IIS tjänsten. Microsoft Web Application jäkt Tool följer även med Microsoft Visual Studio .NET.
- ab är ett mätprogram för stresstestning av webbservrar, som medföljer Apache
- Bonnie++ är ett mätprogram för stresstestning av filsystem, http://www.coker.com.au/bonnie++/
Artikeln skriven 2009-01-16 av Learning4sharing
Inga kategorier för denna artikel än...Intresserad av fler artiklar?
Mats SvegforsGrundare
Svenskar i Världen
Hans Rausing
Bertil Hult
Margot Wallström
Oriflame
Yngve Bergquist
Ishotell