Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • LAR service som første led (v. 1.0.2)
  • Cave CAVE service som andet led (v. 1.0.2)
  • FHIR database som tredie led (v. 3.7.0)
  • Derforuden har integrationen til minlog, MinSpæring og behandler relation og min spæring check være aktiveret under kørslen (Herefter benævnt som MSB)

Performance krav

Kravene fra fra kravspecifikationen lyder som følger:

...

  • der er anvendt et test certifikat. Og der trækkes et idkort i setup fasen af testen, dvs hver gang en node startes på. Den del er holdt ude af performance målingen
  • testen er kørt på test system opsat at Netic: cstag-lb.cnsp.netic.dk:8080  
  • testen er lavet i standard NSP performance frameworket (v.2.0.0), udviklet af Arosii i JMeter.
  • Der er kørt 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.
  • Testplanen der er kørt er test900, og den er kører 15 minutter per iteration.
  • System under test (LAR og CAVE servicen) er kørt på på 4 docker containere, fordelt ligeligt på 2 fysiske maskiner (?1)
  • Kald til de 3 eksterne service MSB har været aktiveret under testen

Se iøvrigt LAR test vejledning afsnit 2.3 performance test for detaljer.

...

Under afviklings af testen er der udskrevet en række log filer som viser tilstanden af test systemet. De følgende afsnit gennemgår de vigtigste tal fra disse filer.

JMeter log data

Der findes en JMeter hoved fil, som overordnet beskriver testens resultet.

(/stress01.nsp-test.netic.dk-lar/lar_listallergy_test900_stress01.nsp-test.netic.dk_master_20190513_114050.tar.gz.log)

I JMeters hoved log fil Her kan  kan ses, at der er kørt 3 runder :med test, deres tidsinterval og throughput for hver.

RundeTrådeNodesStarttidSluttidThroughput
Forventet
1722019-05-13_11-10-142019-05-13_11-25-1820,42 kald per sekund
21022019-05-13_11-25-412019-05-13_11-40-4420,84 kald per sekund
31032019-05-13_11-41-122019-05-13_11-56-1725,09 kald per sekund

Den Det fremgår også af filen, at den endelige måling af throughput er 25,09 kald per sekund. ?2

Fejlprocentet Samt at fejlprocentet på den fulde kørsel er 0,01 %

Vurdering

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.

Access log data

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 hver eneste kald der er lavet til de 2 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) .


med msb

appServerrunLoophttpCodeAverage - duration
docker01.cnsp.stage.nsp.netic.dk-lar/1200623.3608875354

2200868.4502450458

32001123.292920354


50032257
docker02.cnsp.stage.nsp.netic.dk-lar/1200612.4696541223

2200899.9194545067

32001125.447079646


50031634
docker03.cnsp.stage.nsp.netic.dk-lar/1200620.2688125272

2200885.2533560622

32001114.4592920354


50033109
docker04.cnsp.stage.nsp.netic.dk-lar/1200623.7270552414

2200903.6628303495

32001123.9161358811
Total Result

895.9256935381

uden msb tid

appServerrunLoophttpCodeAverage - msbAdjDuration
docker01.cnsp.stage.nsp.netic.dk-lar/1200154.0184903198

2200177.0824632431

3200206.423539823


50032189
docker02.cnsp.stage.nsp.netic.dk-lar/1200148.6834892321

2200193.068186661

3200196.8784070796


50031579
docker03.cnsp.stage.nsp.netic.dk-lar/1200153.3412353197

2200172.9737907522

3200185.5684955752


50032917
docker04.cnsp.stage.nsp.netic.dk-lar/1200162.2411918225

2200192.120630861

3200196.8791578202
Total Result

181.1974366697



Konklusion

Fejlprocess vurdering

...