Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Navitabs
rootMinLog2 - Leverancebeskrivelse
firsttabMinLog2
includeroottrue


Indhold

Table of Contents

Introduktion

Dette dokument beskriver udvikling og afvikling af jmeter-tests med NSP Performancetest Framework.

Performance

Dokumentet her beskriver performancetest for Verifikationssnitfladen i Samtykkeservicen

Først beskrives de forskellige typer test data output, og hvordan de anvendes i analysen. Herefter skitseres scope og afvikling af testene samt performancekravene.

Se i øvrigt krav til performance test og rapport på siden https://www.nspop.dk/display/public/web/Performancekrav

Performanceanalyse

For alle test gælder følgende:

Udover de fremsatte performance krav på svartid, er der en række andre punkter, som bør analyseres for at vurdere servicens sundhed.

Følgende punkter undersøges derfor:

  • Svartid per kald
  • Antal kald per sekund
  • CPU status
  • I/O på netværk
  • Hukommelses forbrug
  • Garbage collection

Disse undersøgelser foretages vha. de forskellige log-filer, som genereres under performancetesten. De følgende afsnit gennemgår de vigtigste tal fra disse filer:

Hver kørsel/iteration (øgning af belastning) har en start- og sluttid. Filerne access.log og jstat.log indeholder tidstempler. Dette muliggør, at de kan mappes til en given iteration. Filen vmstat har ikke tidstempel, men da den starter samtidig med jstat loggen og logintervallet er kendt på 10 sekunder, kan iterationernes placering i data beregnes. Docker stats loggen har hverken tidsstempel eller fast logning-interval, hvorfor tallene/graferne kun kan bruges som en generel betragtning over hele testperioden.

Scope og afvikling

Scope

Testene involverer følgende komponenter

  • Samtykkeservicen - Verifikationssnitfladen
  • NSP Performancetest Framework

Der er ikke målinger på database serveren (MariaDB).

Der testes på følgende to operationer i verfikationssnitfladen:

  • ConsentForUserCheck
  • ConsentForDataCheck

I begge tilfælde kaldes med en serie af forskellige borger-CPR-numre, som kan angives via en tekstfil. Sundhedsfagliges id og organisation sættes før testens start. 

For ConsentForDataCheck kan man yderligere angive antallet af "Consent Data Registrations" der tjekkes for per request, og hvilke SOR-koder den kalder med (den cykler blot igennem listen svarende til antallet af registrations i kaldet).

Der er også mulighed for at slå "WS-Addressing" til og fra, da det har været påkrævet i ældre versioner af "verification" i Samtykkeservicen.

Afvikling

Performancetesten afvikles på følgende måde

  • Testen køres på et test system opsat af Netic
  • Testen laves i standard NSP Performance Framework, udviklet i JMeter
  • Opdater CSV file path i JMeter så CPR-numrene til testen kan indlæses
  • Ligeledes sættes hostname og andre konfigurationer (fx antal kørsler, tråde, etc)
  • Der køres en testplan med stadig øget belastning ved at øge antallet af tråde og noder indtil det målte throughput ikke længere vokser med tilsvarende mængde.
  • Testplanerne kører typisk 15 minutter per iteration

Krav

Skal afklares.

Baggrundsdata

Database

Databasen skal indeholde en kopi af produktion.  

Udførsel af test

Forberedelse

Testen hentes fra https://git.nspop.dk/projects/NT/repos/performance-framework i den revision, der er angivet som release for SDS-7721. 

Databasen klargøres.

Der skal være en kørende version af Samtykkeservicen, man kan kører imod. Filen host.properties skal være sat korrekt i NSP Performancetest Framework.

Kørsel

Når databasen er på plads, servicen kørende og testen konfigureret, kan testen afvikles.

Mulige Distributionen at vælge til test

Minlog2 distributions
test10_10
test10_50
test10_10
test10_250
test10_500
test300_500
test300_1000
test300_2500
test900_10

test900_50

test900_100

test900_250

test900_500