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:

  1. Dubbelklicka på UpdateResponderBinding, välj 'Service Endpoints'.
  2. Välj exempelvis 'https://qa.esb.ntjp.sjunet.org:20000/vp/Update/1/rivtabp21' och tryck knappen 'Assign'.
  3. 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.
  • 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.