Page History
...
Version | Dato | Ansvarlig | Beskrivelse |
1.0 | 15-11-2018 | Openminds | Oprettelse |
| 1.1 | 14-11-2019 | Lakeside | Opdatering vedr. test krav |
| 1.2 | 25-09-2020 | KvalitetsIT | Opdatering ifm. flytning af test til arosiis performance test framework |
| 1.3 |
| KvalitetsIT |
lookup on behalf of udfases |
Performance
Det følgende beskriver performance test og analyse for
...
- MinLog2 - Performancetest medhjælper lookupMinLog2 - Performancetest borger lookup
- MinLog 2 - Performancetest registration
...
Hver kørsel/iteration (øgning af belastning) har en start og slut tid. 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 logninginterval, hvorfor tallene/graferne kun kan bruges som en generel betragtning over hele test perioden.I det nedenstående kan man klikke på de enkelte grafer for større billede. De enkelte iterationer er tegnet ind som lodrette mørke streger; 2 streger per iteration (start og slut tidspunkt).
Scope og afvikling
Scope
Testene involverer følgende komponenter
...
Der er ikke målinger på database serveren (MariaDB).
Performance test kald
...
- MinLog2 - Performancetest medhjælper lookupMinLog2 - Performancetest borger lookup
- MinLog 2 - Performancetest registration
- Kan kaldes med konfigurerbart antal registreringer per request.
- (Der er oprettet distributioner med forskellige antal registringer per request. Disse er beskrevet under "Udførsel af test".)
- De sidste 5 % af registreringerne i et kald er dupletter. (F.eks.: for 20 registreringer per kald vil den sidste registrering være en duplet af den foregående).
- Kan kaldes med konfigurerbart antal registreringer per request.
...
- Testen køres på et test system opsat af Netic
- Testen laves i standard NSP performance frameworket, udviklet af Arosii i JMeter.
- Opdater CSV file path i jmeter sådan passer med systemet
- 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 og for læsning hentes 30 entries per side.
- System under test køres på 2 docker containere for lookup, og 4 containere for registration (docker01 og docker02 henholdsvis docker01, docker02, docker03 og docker04 i nedenstående)
...
Servicemålene herunder er for henholdsvis MinLog 2 registreringsservices (svartider opdatering) og MinLog MinLog2 opslagsservices (Svartider forespørgsler).
| Service | Servicemål |
|---|---|
| Svartider opdatering | 95 % af tilfældene ≤ 6,5 sek |
| 98 % af tilfældene ≤ 15,5 sek | |
Svartider forespørgsler | 95 % af tilfældene ≤ 2,5 sek |
| 98 % af tilfældene ≤ 5,5 sek |
Både MinLog2 og Minlog1 bør testes, da alle snitflader vil blive belastet i indkøringsfasen, det forudsættes at de eksisterende MinLog1 performances test kan benyttes.
Lookup
Borger
Der skal udarbejdes et CPR nummer SELECT repræsenterende forskellige grupper i forhold til mængder af MinLog MinLog2 logninger i alt svarende til 2 % af alle med MinLog MinLog2 borger entrys.
| Interval af antal entrys | Antal CPR numre |
|---|---|
| 0 - 50 | 20.000 |
| 50 - 100 | 20.000 |
| 100 - 500 | 20.000 |
| 500 - 1000 | 20.000 |
| 1000 - 5000 | 19.000 |
| 5000 -10.000 (hvis de findes?) | 1.000 |
...
Der skal udarbejdes et CPR nummer SELECT af nedre og øvre kvartil i mængden af MinLog MinLog2 logninger svarende til 2 % af alle med MinLog MinLog2 medhjælps entrys. CPR nummerne skal være sundhedsfaglige med delegering.
...
Der skal udarbejdes et registration sæt som indsættes med 20.000 registringer pr. 5 min interval stigende op mod 60.000 pr. 5 min. interval.
Der skal teste testes både bulk og single registreringer samt dupletter.
- For bulk registreringer forslåes test af 10, 50, 100, 250 og 500 registreringer per kald.
- I hvert kald er de 5 % sidste registreringer dupletter.
Baggrundsdata
Database
Databasen har indeholdt en kopi af produktion.
Look up Id
Til lookup MinLog1MinLog2 samt lookup Id ws anvendes følgende fil:
- borger.txt - tekstfil indeholdende borger Id'er.
Til lookup Id on behalf of anvendes følgende fil:
- cprlist.csv - CSV-fil indeholdende 10400 cpr-numre.
Registration
Til registration anvendes følgende fil:
...
Forberedelse
Testen hentes fra https://svngit.nspop.dk/projects/svnNT/componentsrepos/performance/trunk-framework i den revision, der er angivet nedenfor per release af MinLog 2 servicen.
...
Når databasen er på plads, servicen kørende og testen configureret kan følgende køres:
Lookup
run_test.sh -h hosts.properties -p 9012 minlog listlogstatements test900
Lookup on behalf of
run_test.sh -h hosts.properties -p 9012 minlog2 lookup_onbehalfof test900
Lookupid
run_test.sh -h hosts.properties -p 9012 minlog2 9012 minlog2 lookupidws test900_10
Registration
run_test.sh -h hosts.properties -p 9012 minlog2 registration test900_10
- Distributionen kan ændres for flere registreringer per request (test900_10, test900_50, test900_100, test900_250, test900_500)
...
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 |
Version
MinLog2 Release | Performance test revision |
|---|---|
| 2.*.* | 2.0.* |
| GIT | GIT |
'* ' betyder hvilken som helst