Page History
...
Efter nærværende introduktion vil dokumentet gennemgå de væsentligste dele af opsætningen af et lokalt udviklingsmiljø og afvikling af test/performancetest.
Dokumentet forudsætter, at læseren har grundig kendskab til Java udvikling, webservices og Maven. Kendskab til JBoss applikationsserver vil yderligere hjælpe læseren, men er ikke en forudsætning.
...
Kodeord til serverne og databaserne skal indhentes hos NSP-operatøren.
4 Performance test af autorisationsservicen og kopi-register-servicen
Dette afsnit beskriver hvordan man kører performance af autorisationsservicen og kopi-register-servicen.
Krav
For at køre performance test på Stamdata Projektet er det nødvendigt at have:
...
Krav
...
Installation og test
...
Stamdatas kildekode er checket ud.
...
%git clone https://github.com/trifork/sdm/ git clone https://github.com/trifork/sdm/
...
Maven3 installereret
...
Se maven.org for installation
% mvn –v (i prompt)
...
Adgang til internettet
...
-
...
Adgang til Test STS’en (dvs. være på et netværk hvor den er tilgængelig.)
Check at
...
-
...
NSP in a box (NIAB) kørende via vmware’s vmplayer
...
Følg vejledningen i [niab] og gennemfør smoketesten for at checke at den fungerer.
Deployment
Fra Netic kan man downloade et vmware image der er opsat til at kunne afvikle NSP. Dette kaldes ”NSP in a box” (NIAB). Dette image kan rekvireres ved henvendelse hos operatøren.
Konfiguration
Inden man kører test skal man konfigurere stamdata komponenterne til at køre i development mode. Fra kildekoden skal
...
omdøbes til
...
stamdata-authorization-lookup-ws.properties
og lægges i
...
$JBOSS_HOME/server/default/conf/
På samme måde skal
...
/nsp/batch-copy-ws/src/test/resources/test-config.properties
omdøbes til
...
stamdata-batch-copy-ws.properties
og lægges i
...
$JBOSS_HOME/server/default/conf/
Check at følgende property:
...
security=dgwsTest
er sat i
...
stamdata-batch-copy-ws.properties
Dette gør, at komponenterne godkender requests med ID Kort underskrevet af Test STS’en.
Når filerne er ændret skal JBoss genstartes:
...
% sudo /etc/init.d/jboss restart
Konfiguration af database
Det CVR-nummer der bliver brugt til tests skal være oprettet i stamdatatabellerne ”Client” og ”Client_permissions”. Dette gøres på følgende måde:
- I tabellen ”Client” oprettes et element med:
- ”name” sat til ”Region Syd” og
- ”subjectSerialNumber ” sat til ”CVR:19343634-UID:1234”
- Aflæs det generede id og opret i tabellen ”Client_permission” en indgang med
- ”client_id” sat til det genererede i tabellen ”Client”
- ”permission” sat til ”cpr/person/v1”.
Kørsel
Performance tests køres ved at køre følgende kommandoer fra folderen ”common/performance” i stamdata’s kildekode:
...
% mvn -Pperformancetest integration-test site -Dhostname=<host> -Dport=<port>
Hvor <host> er adressen på nsp-serveren, hvor Stamdataservice er deployet. Hvis du kører mod NIAB så anvend dens IP-adresse som <host> og anvend 8080 som <port>.
Testrapporter
HTML-rapporter bliver lagt i
...
når alle tests er færdige.
Her ligger performancerapporter fra kørsel mod autorisationsservicen (authorization-ws-test-report.html) og kopi-register-servicen (replication-ws-report.html).
5 Performancetest af CPR-services
Test køres med current dir i
...
nsp/cpr-ws
For StamdataPersonLookup testes den case, hvor request indeholder fornavn+efternavn, og der søges efter personer der matcher dette. Denne case er udvalgt, fordi den vurderes at belaste serveren mest (i forhold til fx casen med opslag ud fra cpr-numre).
Krav
For at køre performance test på Stamdata Projektet er det nødvendigt at have:
...
Krav
...
Installation og test
...
Stamdatas kildekode er checket ud.
...
%git clone https://github.com/trifork/sdm/ git clone https://github.com/trifork/sdm/
...
Maven3 installereret
...
Se maven.org for installation
% mvn –v (i prompt)
...
Adgang til internettet
...
-
...
Adgang til Test STS’en (dvs. være på et netværk hvor den er tilgængelig.)
...
Check at
http://niab01.nsp-test.netic.dk:8080/sts/services/SecurityTokenService?wsdl viser wsdl i browser. Udskift evt. niab01.nsp-test.netic.dk:8080 men den Test STS host og port du anvender.
...
NSP in a box (NIAB) kørende via vmware’s vmplayer
...
Følg vejledningen i [niab] og gennemfør smoketesten for at checke at den fungerer.
...
CPRABBS servicen deployeret (på NIAB)
...
I dette dokument er der en miniguide hertil men det anbefales at konsultere dokumenterne
[BRS-guide til anvendere] og [BRS-driftvejledning]
Konfiguration
Inden man kører test, skal man konfigurere stamdata komponenterne til at køre i development mode. Fra kildekoden skal
...
/nsp/cpr-ws/src/test/resources/test-config.properties
omdøbes til
...
stamdata-cpr-ws.properties
og lægges i (anvend sudo)
...
$JBOSS_HOME/server/default/conf/
Performance testdata
Filen
...
indeholder komma-separerede par af fornavn, efternavn der benyttes til kaldene til StamdataPersonLookup-servicen.
Der skal rettes i denne fil, så der angives mere end to fornavn, efternavn-par.
Alle fornavn, efternavn-par skal vælges så de hver giver mindst ét hit i den database der køres med. Fornavn, efternavn par som ikke giver et hit markeres som fejlede af JMeter-sampleren.
På samme måde indeholder filen
...
nsp/cpr-ws/src/test/resources/ getSubscribedPersonDetailsQueryParameters.csv
et cvr-nummer pr. linie. Disse cvr-numre benyttes til kaldene til StamdataPersonLookupWithSubscription-servicen.
Der skal rettes i denne fil, så der angives det ønskede antal cvr-numre.
De cvr der angives, behøver ikke nødvendigvis alle give hits (men nogle af dem skal). Sampleren markerer kun requests hvor samtlige person-opslag lykkedes.
Cvr-numre giver hits, første gang der kaldes for dem, givet at det angivne cpr-nummer i Cpr subscription-servicen er angivet til at have abonnement på mindst ét cvr-nummer, der findes i databasen.
Forudsætninger
CPR-WS Konfiguration
Inden man kører test skal man konfigurere stamdata komponenterne til at køre i development mode. Fra kildekoden skal
...
/nsp/cpr-ws/src/test/resources/test-config.properties
omdøbes til
...
stamdata-cpr-ws.properties
og lægges i (anvend sudo)
...
$JBOSS_HOME/server/default/conf/
CPR-WS database opsætning
For at kunne køre testen igennem med de leverede input-parametre, skal dette script indlæses i Stamdatas database:
...
src/test/resources/data_needed_for_performancetests.sql
f.eks. ved at køre (på NIAB hvis det er det man har valgt)
...
% mysql -usdm -p < nsp/cpr-ws/src/test/resources/data_needed_for_performancetests.sql
Password: papkasse
indeholder eksempeldata for henholdsvis cpr-abonnementer og ændrede cpr-numre til cprabbs-servicen.
For at give et realistisk dataload, skal der indsættes en væsentligt større mængde data i begge tabeller. Disse data skal matche data i Stamdatas person-tabel.
Både Stamdata og cprabbs-servicen skal være konfigureret til at acceptere Id-kort udstedt af SOSI test-STS’en. Se vejledning til anvendere [BRS-guide til anvendere] og [BRS-driftvejledning] for detaljer og afsnit 5.4 for en miniguide.
CPRABBS-Service miniguide
Der skal være adgang til en kørende cprabbs-service. Dette kan f.eks. opnås ved at deploye cpr-abbs war filen i på NIAB fra seneste BRS release. Denne cpr-abbs war fil ligger i et BRS release her:
...
<versions-nr>/cprabbs-war-<versions-nr>.war
CPRABBS-service konfiguration
Fra kildekoden skal
...
/brs/common/src/main/resources/brs.local-deploy.properties
omdøbes til :
...
brs.properties
...
$JBOSS_HOME/server/default/conf/
I Stamdatas konfiguration skal property
...
cprabbs.service.endpoint.host
cprabbs.service.endpoint.port
cprabbs.service.endpoint.path
sættes til cprabbs-servicens endpoint, fx værdierne
...
cprabbs.service.endpoint.host=localhost
cprabbs.service.endpoint.port=8080
cprabbs.service.endpoint.path=/cprabbs/service/cprabbs
CPRABBS-service databaseopsætning
Opret og tilpas CPRABBS notifikationsdatabasen:
...
$ mysql -f -uroot -p < init-mysql-nsp_reg_notification.sql
(ignorér fejl)
$ mysql --database=nsp_reg_noti -uroot -p < create-cprsubscription-tables.sql
$ mysql --database=nsp_reg_noti -uroot -p < mysql-cprsubscription-alter-tables.sql
Opret og tilpas testdatabase over personer med CPR-nummer opdateringer i stamdata databasen:
$ mysql -f -uroot -p < init-mysql-nsp_stamdata.sql
$ mysql --database=nsp_stamdata -uroot -p < create-test-stamdata-tables.sql
...
.
...
Fyld data i CPRABBS notifikationsdatabasen:
...
$ mysql --database=nsp_stamdata -uroot -p < src/test/resources/cprabbs_data_needed_for_performancetests_nsp_stamdata.sql
Opret og tilpas testdatabase over personer med CPR-nummer opdateringer i stamdata databasen:
...
$ mysql --database=nsp_reg_noti -uroot -p < src/test/resources/cprabbs_data_needed_for_performancetests_nsp_reg_noti.sql
Udførsel
Man udfører testen ved at køre følgende (som én linie, uden liniebrud):
...
rm -rf target/chronos/&& mvn integration-test site -Pperformancetest -DskipTests -DnumberOfIterations=5 -DnumberOfThreads=10 -Dhostname=localhost -Dport=8080
(rm-delen sørger for, at Chronos-pluginn’et kører testen igen, selvom der ligger et resultat fra tidligere).
Værdierne af de 4 properties til sidst kan rettes. De betyder følgende:
...
Property
...
Beskrivelse
...
numberOfIterations
...
hvor mange loops skal hver tråd køre
...
numberOfThreads
...
hvor mange tråde skal der startes
...
Hostname
...
på hvilken host kører StamdataPersonLookup-servicen
...
Port
...
på hvilken port kører StamdataPersonLookup-servicen
Testrapporter
Når kommandoen har kørt, er testrapporter tilgængelige i
...
Denne html fil:
...
StamdataPersonLookupGetPersonDetails-report.html
Viser resultatet af den test, der forespørger på personer via fornavn, efternavn par. Resultater af den performancetest, der er abonnements (altså afhænger cpprabs-servicen) forefindes i
...
StamdataPersonLookupWithSubscriptionGetSubscribedPersonDetails-report.html
...
Tips og tricks
I de følgende beskrives problemer og deres løsninger:
...
Løsning
Ignorér denne fejl.
...
Ændringslog
Nyeste udgave af dette dokument kan erhverves ved henvendelse til NSP-operatøren.
...
Version | Dato | Ændring | Ansvarlig |
1.0 | 28/4-2011 | Initielt Dokument | Trifork |
1.1 | 6/10-2011 | Opdateret med CPR tjenester | Trifork |
1.2 | 8/12-2011 | Kvalitetssikret af Lakeside | Lakeside |
1.3 | 22/12-2011 | Opdateret bla. med performance test af autorisationsservicen og kopi-register-servicen | Trifork |
1.4 | 14/5-2013 | Opdateret afsnit omkring oprettelse af database | Trifork |
1.5 | 29/10-2020 | Fjernet afsnit omkring performance test | KIT |
8 Referencer og kilder
...