Steeds meer organisaties werken digitaal. Daarbij komen steeds grotere datastromen voor. Probleem is dat die grote datastromen alleen voorkomen op de productie omgeving. Daarmee is het testen van het systeem op een ontwikkel-, test- en acceptatieomgeving vaak niet representatief wat load betreft. Hierdoor komt het voor dat er grote problemen in productie ontstaan na uitrol.
Zo kan het gebeuren dat een bepaalde wijziging tot gevolg heeft dat een proces langer duurt of een bepaalde index niet meer gebruikt wordt. De productie omgeving wordt dan traag of is zelfs helemaal niet meer te benaderen.
Doel van de opdracht is het in kaart brengen van de verschillende test tools die load testen mogelijk maken. Ook is het de bedoeling om in kaart te brengen welke infrastructuur er bij een goede load test omgeving hoort. Nadat er is uitgezocht wat er allemaal mogelijk is zal er ook een omgeving opgezet moeten worden die een load test uit kan voeren. Een voorbeeld van een situatie waar een load test uitkomst biedt is de volgende:
De productie omgeving bestaat uit:
- 3 database servers
- 3 business servers
- 5 website servers
- 5 webservice servers
De acceptatie en test omgeving bestaan uit:
- 1 database server
- 2 business servers
- 2 website servers
- 2 webservice servers
Het mag duidelijk zijn dat de load op de productieomgeving vele malen hoger kan zijn dan op de acceptatie en testomgeving. Daarbij komt dat het aantal records in de database op productie rond de 26 miljoen ligt en op acceptatie haalt die de miljoen nog niet eens. Hierdoor is een normale test voor de acceptatie omgeving geen probleem. Echter, de productie omgeving wordt veel zwaarder belast door vele gebruikers in verschillende threads. De vraag is dus hoe je die acceptatie omgeving zodanig kunt belasten met een loadtest dat de resultaten representatief zijn voor de omgeving.
Belangrijk laatste onderdeel is het duidelijk in kaart brengen van de testresultaten in bijvoorbeeld de Endeavour portal (Ontwikkelstraat van Info Support). De verschillende parameters moeten makkelijk te wijzigen zijn en duidelijk naar voren komen in het rapport. Het gaat hierbij om parameters zoals threads, timeouts, aantal verzoeken per thread, gebruiker per thread, duur van een verzoek enz.