EI - Lasttester - gammal
Testbeskrivning
Syftet med lasttesterna är att belasta systemet för att verifiera att Engagemangsindex klarar toppar med hög last.
SOAP-UI projektet med lasttesterna heter SKLTP-EI-loadtests-soapui-project.xml. Det har tester för Update och Find Content.
De tester som finns är:
- Update med 1, 10, 100, 1000 engangemang
- FindContent med 2 eller alla element.
Testerna är uppdelade i olika antal samtidiga klienter (trådar), för att testa olika antal anrop per sekund.
Instruktioner för att genomföra testerna
Förberedelser
Testerna är konfigurerade att köra mot QA1. Om man ska köra mot någon annan nod måste man ställa in rätt endpoints för varje tjänst. Detta görs på följande sätt:
- Dubbelklicka på UpdateResponderBinding, välj 'Service Endpoints'.
- Välj exempelvis 'https://qa.esb.ntjp.sjunet.org:20000/vp/Update/1/rivtabp21' och tryck knappen 'Assign'.
- Välj alternativet 'All requests och TestRequests' och tryck på ok.
Upprepa detta för FindContentWSBeanServiceSoapBinding samt ProcessNotificationResponderBinding. Spara sedan projektet!
Köra lasttester i SoapUI.
För att köra ett simpelt test i klicka TestCaset och sedan Loadtests.
Dubbellklicka för att få fram ett fönster där högerpilen finns längst upp på fönstret.
Som resultat ser man antal test per sekund, genomsnittlig svarstid o.s.v.
Köra lasttester i SoapUI från terminalen
För att köra lasttesterna från SoapUI behöver följande göras
- Hämta skript och installera soapUI samt Ruby om maskinen inte kör på osx
- Gå in i katalogen loadtest_runner och öppna filen run.sh.
- Sätt följande variabler
- soapUIpath (sökväg till soapui-katalogen)
- remote_host som är adressen som cpu-monitoreringen körs mot. För att kunna köra ssh-monitorering
krävs antingen extisterande sshanslutningen ControlMaster eller att anslutningen använder nycklar. Verifiera att det går att logga in utan lösenord.
- testFilePath till sökvägen till SoapUI-projektet innehållandes lasttesterna.
- soapUIpath (sökväg till soapui-katalogen)
- Kör ./run.sh från terminalen. Tar idag cirka 60 minuter att slutföra
Resultat från skriptet
Från skriptet kommer man se statistik kring svarstider för de olika testerna,
antal tester per sekund samt last och cpuinfo.
Övervakning
Övervaka körningen genom att ansluta med JConsole mot EI (mule).
JMeter
Då SoapUI inte verkar kunna hantera keep-alive syns ingen märkbar skillnad i svarstiderna när keep-alive är på och när det är avstängt. Därför finns några av lasttesterna posterade till JMeter för där på ett korrekt sätt kunna göra tester med keep-alive.
Köra lasttester med JMeter
- Öppna SKLTP-EI-loadtests-jmeter.jmx med JMeter
- I menyn, välj SSL-manager ange certifikatet som ska användas. (Jag har använt
tk_qa_auth.p12) - Aktivera den eller de threadgroups som ska köras och tryck sedan på kör.
- Resultatet visas som helhelt för den aktuella trådgruppen samt för varje
soaprequest i trådgruppen.
Tänk på att de olika trådgrupperna har olika inställningar för antal samtidiga klienter och körlängder. Detta ställs in i trådgruppsinställningarna (klicka på den valfri Thread Group).
Dokumentation av testresultat
Testrapport ska fyllas i och sparas under EI Testrapporter.