Dette dokument dækker udførslen af en del af SCES performance testen. Se også Performance rapport - Generelt for generelle aspekter omkring testen. 

SCES

SCES, Stamdata CPR Enkeltopslags Servicen, bruges til at hente informationer fra bla. CPR registreret ud. Servicen har et antalt web services, som har forskellig funktionalitet. i denne test er det operationerne "GetPersonDetails" og "DetGodeCPROpslag" der anvendes.

SCES er del af SDM leverancen. Til testen er SDM version 3.5.8 blevet brugt. 

Antagelser og forbehold

  • Begrænset delmængde af datasættet. Som det beskrives senere så testet ikke med alle mulige CPR numre, men med mindre delmængde. Valget her er baseret på udhentning via SKRS. Dette kan påvirke hvor hurtigt databasen tilbyder data.
  • Alle kald til SKRS sker via et lokalt netværk der er betydeligt hurtigere end hvad man kan forvente anvendersystemer har adgang til. Dette vil samlet set betyde en længere svartid pr forespørgelse, men burde ikke påvirke TP synderligt.

Testen

Afvikling

Performance testen består af en række JMeter testplaner, samt scripts, der afvikler den valgte performancetest inkrementelt indtil det endelige throughput er fundet. For hver iteration øges enten antallet af tråde eller antallet af noder indtil det målte throughput ikke længere vokser tilsvarende.

Testplan

Testplaner anvendt i denne performance test: personlookup

Testplanen personlookup består af 2 dele, først en opsætningsdel der ikke tælles med i testen og derefter et antal kald til SCES servicen. Opsætningsdelen består i at få signeret et id-kort og derefter hente op til 25.000 personer ud fra SDM via SKRS. Selve testen består i at hente persondetaljer for et antal tilfældigt udvalgte personnumre. For hver gennemløb i testen hentes der persondetaljer på følgende måder:

  • X ud af 100 gange hentes data gennem "DetGodeCPROpslag v. 1.0.2"
    • A ud af 100 gange hentes der personoplysninger inklusiv oplysninger om egen læge
    • B ud af 100 gange hentes der personoplysninger uden oplysninger om egen læge
  • Y ud af 100 gange hentes data gennem "DetGodeCPROpslag v. 1.0.0"
    • A ud af 100 gange hentes der personoplysninger inklusiv oplysninger om egen læge
    • B ud af 100 gange hentes der personoplysninger uden oplysninger om egen læge
  • Z ud af 100 gange hentes data gennem "GetPersonDetails"
    • 1 ud af 4 gange hentes en enkelt person baseret på personnummer.
    • 1 ud af 4 gange hentes 10 personer baseret på personnumre.
    • 1 ud af 4 gange hentes et antal personer baseret på navn.
    • 1 ud af 4 gange hentes et antal personer baseret på fødselsdag.

Hvert gennemløb foretages N gange.

Fordeling

Fordelinger anvendt i denne performance test: prod.

Fordelingen prod foretager 2000 (N) gennemløb af testplanen, 99% (X) opslag mod "DetGodeCPROpslag v. 1.0.2", 0.5% (Y) opslag mod "DetGodeCPROpslag v. 1.0.0" og 0.5% (Z) opslag mod "GetPersonDetails". 90% (A) af opslag mod "DetGodeCPROpslag" sker med information om egen læge og 10% (B) uden.

Disse fordelinger er baseret på observationer af produktion i en tilfældig uge (24. marts 2014 til 31. marts 2014)

Målinger

Throughput

De kørsler af performance testen har givet de TP der kan ses i tabellen nedenunder. Uder over TP vises også hvor mange tråde og noder der skulle til for at opnå dette TP. Derudover er fejlraten medtaget, da denne i en tidligere test udgjorde en betydelig andel.

IdThroughputTrådeNoder

Fejlrate

20140402_121510

173.982120.045%
20140402_122535188.962820.030%
20140402_123719210.002830.033%

Miljø

  • CPU: CPU ser ikke ud til at være en begrænsende faktor. På grafen ses at der i store dele af testen, er en belastning på mellem 80% og 90% på begge søjler, 100% belastning rammes kun en enkelt gang under forløbet.
  • Heap: På vedhæftede graf er der intet usædvanligt at bemærke. Det vurderes at hverken GC tid eller størrelse af heap har nogen speciel indvirkning på TP.

Observerede fejl

De ca 0.04% fejl der er i hver gennemløb af testen udgør så lille en fejlrate at de ikke kan have haft en indvirkning på TP.

Konklusion

Da fejlraten er forholdsvis lav og ikke stiger med belastningen er det vores konklusion at der kan ses bort fra disse fejl i forhold til at vurdere på performance af SCES.

I en tilfældig uge (24. marts 2014 til 31. marts 2014) blev der foretaget 451.335 forespørgelser med et anormalt peak den 25. mar kl. 11 på omkring 22.000 kald i timen.

Med det målte TP bliver det 756.000 forespørgelser i timen. I den undersøgte tid udnyttes servicen dermed maksimalt med 2.91%

Forbedringer

  • Antallet af søjler kan forøge TP. Dette er baseret på viden om at servicen agere uafhængigt af andre søjler. 

  File Modified
PNG File 20140402_123719_prod.png 09-05-2014 by Henrik Danielsen
PNG File 20140402_123719_heap.png 09-05-2014 by Henrik Danielsen
PNG File 20140402_123719.png 09-05-2014 by Henrik Danielsen

  • No labels