UFYLDESTGØRENDE! Der har hidtil ikke være en tilfredsstillende testkørsel.
Dette dokument dækker udførslen 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.
SCES er del af SDM leverancen. Til testen er SDM version 3.5.8 blevet brugt.
Antagelser og forbehold
Det er ikke lykkes at få et tilfredsstillende resultat fra nogen af de kørsler, der er foretaget. Derfor er denne rapport baseret på den seneste kørsel.
- 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.
- Lokalt netværk: Alle kald til SKRS sker via et 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 af testen hentes der persondetaljer på følgende måder:
- Hent en enkelt person baseret på personnummer.
- Hent 10 personer baseret på personnumre.
- Hent et antal personer baseret på navn.
- Hent et antal personer baseret på fødselsdag.
Hvert gennemløb foretager disse 4 opslag i tilfældig rækkefølge.
Fordeling
Fordelinger anvendt i denne performance test: test.
Fordelingen test
foretager 250 af hver af de 4 forskellige opslag, hvilket giver 1000 kald til SCES
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 her medtaget, da denne udgør en betydelig andel.
Id | Throughput | Tråde | Noder | Fejlrate |
---|---|---|---|---|
20131217_160228 | 0.48 | 1 | 2 | 4.75 |
20131217_171245 | 0.88 | 3 | 2 | 16.00 |
20131217_190845 | 1.65 | 3 | 3 | 54.17 |
20131217_205303 | 20.2 | 3 | 4 | 95.23 |
20131217_210457 | 14.46 | 3 | 5 | 68.43 |
Miljø
- CPU: dette er ikke den begrænsende faktor. På grafen ses en maksimal belast på cirka 60% på begge søjler. Det formodes at tiden bruges i databasen.
- Heap: På vedhæftede graf er intet andet at bemærke end normalt idle opførsel af en JVM applikation. Dermed har hverken GC tid eller størrelse af heap nogen indvirkning på TP.
Observerede fejl
Konklusion
Pga. fejlraten laves der ikke nogen sammenligning med faktisk brug.
Vedhæftet ses produktionsanvendelse i en tilfældig uge (2.-8.dec 2013).
Forbedringer
- Antallet af søjler kan forøge TP. Dette er baseret på viden om at servicen agere uafhængigt af andre søjler.