Performancetesten består af et antal kald til læsning af allergier for en liste af 50.000 personer (cpr numre).
Testen involverer følgende komponenter
Kravene fra fra kravspecifikationen lyder som følger:
TODO: addresser hvert punkt: foreløbige noter:
1: kan vi tage talene uden netværk?
2: vurder
3a: find det sted hvor throughput er dette: 10 kald per sek
3b: inden testen startes er en database med 50.000 allergier fordelt på 50.000 patiener klargjort
3c: de eksterne servicekald var aktiveret under kørslen. Afhængig af udfald overvejes om en kørsel uden aktivernig er nødvendig.
3d: var dette tilfældet?
3e: ?er dette tilfældet på test
3f: går ud fra dette er tilfældet?
Performance testen er afviklet på følgende måde
Se iøvrigt LAR test vejledning afsnit 2.3 performance test for detaljer.
(vedhæft filerne?)
Udover det fremsatte performance mål med en svartid på under 200 ms, er der en række andre punkter som bør analyseres for at vurdere servicens sundhed.
Følgende punkter bliver derfor undersøgt:
Disse undersøges vha. de forskellige log filer, som er udskrevet under performance testen. De følgende afsnit gennemgår de vigtigste tal fra disse filer.
JMeter hoved filen beskriver overordnet testens resultet.
(/stress01.nsp-test.netic.dk-lar/lar_listallergy_test900_stress01.nsp-test.netic.dk_master_20190513_114050.tar.gz.log)
Her kan kan ses, at der er kørt 3 runder med test, deres tidsinterval og throughput for hver.
| Runde | Tråde | Nodes | Starttid | Sluttid | Throughput |
|---|---|---|---|---|---|
| 1 | 7 | 2 | 2019-05-13_11-10-14 | 2019-05-13_11-25-18 | 20,42 kald per sekund |
| 2 | 10 | 2 | 2019-05-13_11-25-41 | 2019-05-13_11-40-44 | 20,84 kald per sekund |
| 3 | 10 | 3 | 2019-05-13_11-41-12 | 2019-05-13_11-56-17 | 25,09 kald per sekund |
Det fremgår også af filen, at den endelige måling af throughput er 25,09 kald per sekund. ?2
Samt at fejlprocentet på den fulde kørsel er 0,01 %.
Kravet til testen er, at der skal køres med 10 samtidige brugere med hver et kald per sekund. NSP's test framework fungerer med en bestemt belastning i testen som gradvis øges.
Testen har kørt med i første runde 14 samtidige brugere, anden runde 20 brugere og sidste runde 30 brugere. Hvilket ligger over kravet til testen. Da testen også har kørt med MSB servicen aktiveret har det lagt yderligere pres på testen.
Derfor konkluderes at ud fra JMeter loggens data ser testens resultat fornuftig ud i forhold til performance målet.
For hver docker container er der en access log for både LAR og CAVE servicen.
(Ex: docker01.cnsp.stage.nsp.netic.dk-lar/logs/lar/access.log)
Her findes data for hvert enkelt kald der er lavet til de 2 LAR og CAVE services herunder hvor lang tid et kald har taget (Duration). Ved at kigge på de kald, der er foretaget til LAR servicen kan den gennemsnitlige tid et kald tager beregnes.
Desuden kan tidsforbruget for kald til MSB servicene findes via via servicenes sla logs (nsputil-sla-lar.log) og messageid, og på den måde trækkes fra LAR servicens tid for at få netto tiden.
Følgende tabeller viser den gennemsnitlige tidsforbrug per kald i milisekunder, fordelt pr applikation server (container) , testrunde, http kode (kald returnerede med fejl (500) eller ej (200) .
| Applikations server | Runde | HttpCode svar | Antal kald | Tidsforbrug (ms) | |
|---|---|---|---|---|---|
| Med MSB | Uden MSB | ||||
| docker01.cnsp.stage.nsp.netic.dk-lar/ | 1 | 200 | 4597 | 623 | 154 |
| 2 | 200 | 4693 | 868 | 177 | |
| 3 | 200 | 5650 | 1123 | 206 | |
| 500 | 1 | 32257 | 32189 | ||
| docker02.cnsp.stage.nsp.netic.dk-lar/ | 1 | 200 | 4597 | 612 | 149 |
| 2 | 200 | 4693 | 900 | 193 | |
| 3 | 200 | 5650 | 1125 | 197 | |
| 500 | 1 | 31634 | 31579 | ||
| docker03.cnsp.stage.nsp.netic.dk-lar/ | 1 | 200 | 4598 | 620 | 153 |
| 2 | 200 | 4693 | 885 | 173 | |
| 3 | 200 | 5650 | 1114 | 185 | |
| 500 | 1 | 33109 | 32917 | ||
| docker04.cnsp.stage.nsp.netic.dk-lar/ | 1 | 200 | 4598 | 624 | 162 |
| 2 | 200 | 4692 | 904 | 192 | |
| 3 | 200 | 5652 | 1124 | 197 | |
| Total | 59766 | 896 | 181 | ||
Det ses, at jo flere brugere (brugere øges per runde) jo højere bliver svar tiden. Performance kravet er 200 ms ved 10 brugere uden MSB services slået til. Ovenstående tabel viser, at ved 14 brugere (runde 1) er svartiden 154 ms. Vi er inden for performance målet.
Man kan undres over, hvorfor det skal tages så meget mere tid når MSB servicene medtages. Det har vist sig at kaldet til BRS er lavet uhensigtmæssigt, hvilket bliver rettet på Jira CAVE-78. Dette burde give bedre performance.
Fejlprocess vurdering,
tjek evt. de 500 kald, hvorfor de optod